✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

get_post_meta WordPress Block Editor (Gutenberg) Motsvarande är getEditedPostAttribute(’meta’)

27

Om du är ny på att skriva plugins för WordPress Block Editor (Gutenberg) kanske du letar runt efter hur du får meta för det aktuella inlägget med get_post_meta.

Var aldrig rädd, du kan fortfarande get_post_metaanvända getEditedPostAttribute('meta')på det aktuella inlägget för att få all meta, som så:

const meta = wp.data.select('core/editor').getEditedPostAttribute('meta');

Så länge du har gjort din metanyckel tillgänglig i restens API så kan du nu ta den från metavariabeln.

const meta = wp.data.select('core/editor').getEditedPostAttribute('meta');

const metaExample = meta['wholesomecode_meta_key_example'];

I koden ovan tar jag tag i värdet på min postmeta (wholesomecode_meta_key_example) och skickar det till variabeln metaExample.

För att säkerställa att din inläggsmeta är tillgänglig i Gutenberg måste du registrera den och se till att den show_in_restär inställd på true.

add_action( 'init', 'register_meta');

function register_meta() {
    register_post_meta(
        'post',
        'wholesomecode_meta_key_example',
        [
            'show_in_rest' => true,
            'single'       => true,
            'type'         => 'string',
        ]
    );
}

Hämta Meta från ett annat inläggs-ID

Om du vill få inläggets meta för ett annat inlägg kan du använda getEntityRecordoch skicka inläggs-ID:t för inlägget du vill få:

const {meta} = wp.data.select('core').getEntityRecord('postType', 'post', 42);

I exemplet ovan finns nu all meta för posten (förutsatt att den har registrerats) i metavariabeln.

Att använda getEntityRecordär detsamma som att göra en get_post i Gutenberg.

Prova det i konsolen

Logga in på din webbplats och använd wpobjektet i konsolen medan du redigerar ett inlägg för att prova det själv. Du bör få ett lättarbetat JSON-objekt av postmeta:

wp.data.select('core/editor').getEditedPostAttribute('meta');
{
   wholesomecode_meta_key_example: 'Example',
}

Uppdaterar Post Meta

Om du vill uppdatera inläggsmeta från WordPress Gutenberg kan du göra detta med editPostocheditEntityRecord.

Inspelningskälla: wholesomecode.ltd

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer