Files
2026-07-02 15:54:39 -06:00

1 line
1.4 KiB
JavaScript

(()=>{"use strict";const e="acf/fields",s=e=>!1!==e.supportsBindings&&!1!==e.allowInBindings,n=e=>{const s=typeof e;return"string"===s||"number"===s||"boolean"===s},i=e=>null==e?null:n(e)?String(e):Array.isArray(e)&&e.every(n)?e.join(", "):null;window.wp?.blocks?.registerBlockBindingsSource?wp.blocks.registerBlockBindingsSource({name:"acf/field",usesContext:["postType","postId"],getValues({select:s,bindings:n}){const t=s(e);if(!t.isInitialized())return{};const l={};for(const e of Object.keys(n)){const s=n[e].args?.key;if(!s)continue;const r=i(t.getFieldValue(s));null!==r&&(l[e]=r)}return l},setValues({select:i,dispatch:t,bindings:l}){const r=i(e);if(r.isInitialized())for(const i of Object.keys(l)){const o=l[i],c=o.args?.key;if(!c||void 0===o.newValue||!n(o.newValue))continue;const u=r.getField(c);u&&s(u)&&t(e).setFieldValue(c,o.newValue)}},canUserEditValue({select:i,args:t}){if(!t?.key)return!1;const l=i(e);if(!l.isInitialized())return!1;const r=l.getField(t.key);if(!r||!s(r))return!1;const o=l.getFieldValue(t.key);return!(null!=o&&!n(o))},getFieldsList({select:n}){const i=n(e);if(!i.isInitialized())return[];const t=i.getFields(),l=[];for(const e of Object.keys(t)){const n=t[e];s(n)&&l.push({label:n.label,args:{key:n.key},type:"string"})}return l}}):console.warn("ACF: wp.blocks.registerBlockBindingsSource is unavailable; ACF block bindings will not be registered. Requires WordPress 6.7+.")})();