✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

get_post_meta WordPress Block Editor (Gutenberg) Equivalente é getEditedPostAttribute(‘meta’)

26

Se você é novo em escrever plugins para o WordPress Block Editor (Gutenberg), pode estar procurando como obter a meta da postagem atual com get_post_meta.

Não tenha medo, você ainda pode get_post_metausar getEditedPostAttribute('meta')no post atual para obter todo o meta, assim:

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

Contanto que você tenha disponibilizado sua meta-chave na API de descanso, agora você pode pegá-la na metavariável.

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

const metaExample = meta['wholesomecode_meta_key_example'];

No código acima eu pego o valor do meu post meta( wholesomecode_meta_key_example) e passo para a variável metaExample.

Para garantir que seu post meta esteja disponível no Gutenberg, você precisa registrá-lo e garantir que show_in_restesteja definido como 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',
        ]
    );
}

Obtenha o Meta de um Post ID diferente

Se você deseja obter a meta do post de outro post, você pode usar getEntityRecord, e passar o ID do post do post que deseja obter:

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

No exemplo acima, o meta do post (desde que tenha sido registrado) agora está localizado na metavariável.

Usar getEntityRecordé o equivalente a fazer um get_post em Gutenberg.

Experimente no console

Faça login no seu site e use o wpobjeto no console enquanto edita uma postagem para experimentar por si mesmo. Você deve obter um fácil de trabalhar com o objeto JSON da meta do post:

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

Atualizando meta de postagem

Se você deseja atualizar a meta do post de dentro do WordPress Gutenberg, você pode fazer isso com editPosteeditEntityRecord.

Fonte de gravação: wholesomecode.ltd

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação