get_post_meta Editor de bloques de WordPress (Gutenberg) El equivalente es getEditedPostAttribute(‘meta’)
Si es nuevo en la escritura de complementos para el Editor de bloques de WordPress (Gutenberg), puede estar buscando cómo obtener el meta de la publicación actual con get_post_meta.
No temas, todavía puedes get_post_meta, solo usa getEditedPostAttribute('meta')en la publicación actual para obtener todo el meta, así:
const meta = wp.data.select('core/editor').getEditedPostAttribute('meta');
Siempre que haya hecho que su clave meta esté disponible en el resto de la API, ahora puede tomarla de la metavariable.
const meta = wp.data.select('core/editor').getEditedPostAttribute('meta');
const metaExample = meta['wholesomecode_meta_key_example'];
En el código anterior, tomo el valor de mi publicación meta (wholesomecode_meta_key_example) y lo paso a la variable metaExample.
Para asegurarse de que su publicación meta esté disponible en Gutenberg, debe registrarla y asegurarse de que show_in_restesté configurada en 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',
]
);
}
Obtenga el Meta de una ID de publicación diferente
Si desea obtener la meta de publicación de otra publicación, puede usar getEntityRecordy pasarle el ID de publicación de la publicación que desea obtener:
const {meta} = wp.data.select('core').getEntityRecord('postType', 'post', 42);
En el ejemplo anterior, todo el meta de la publicación (siempre que se haya registrado) ahora se encuentra en la metavariable.
Usar getEntityRecordes el equivalente a hacer un get_post en Gutenberg.
Pruébelo en la Consola
Inicie sesión en su sitio y use el wpobjeto en la consola mientras edita una publicación para probarlo usted mismo. Debería obtener un objeto JSON fácil de trabajar con el meta de la publicación:
wp.data.select('core/editor').getEditedPostAttribute('meta');
{
wholesomecode_meta_key_example: 'Example',
}