Jake Vanderwerf
2026-09-04 32ce5c542c90be348895328078e392dde2052957
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import { registerPlugin } from '@wordpress/plugins';
 
import SidePanel from './SidePanel';
import { PluginDocumentSettingPanel } from '@wordpress/editor';
import { useEntityProp } from '@wordpress/core-data';
import Fields from './Fields';
 
const CustomFieldsPanel = () => {
    const { postType, fields } = window.jvbFieldConfig || {};
    const [meta, setMeta] = useEntityProp('postType', postType, 'meta');
 
    if (!fields || !fields.length) {
        return null;
    }
 
    const setField = (name, value) => setMeta({ ...meta, [name]: value });
 
    return (
        <PluginDocumentSettingPanel name="jvb-custom-fields" title="Custom Fields">
            {fields.map((field) => (
                <Fields
                    key={field.name}
                    field={field}
                    value={meta?.[field.name]}
                    onChange={(value) => setField(field.name, value)}
                />
            ))}
        </PluginDocumentSettingPanel>
    );
};
 
registerPlugin('jvb-meta-fields', {
    render: SidePanel
});
// registerPlugin('jvb-custom-fields', { render: CustomFieldsPanel });