Si como yo estás iniciándote en el mundo del desarrollo personalizado de bloques de Gutenberg, seguramente llegarás al momento donde necesitarás implementar valores del post meta tal como hacíamos en PHP con la función get_post_meta
.
Bueno, la función equivalente en el mundo Javascript se llama getEditedPostAttribute( 'meta' )
aunque hay que tener algunos puntos en consideración que te explicaré a continuación.
const meta = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'meta' );
Si el posta meta fue previamente registrado y configurado para su uso con la API ya solo te queda obtener el valor de la variable meta
:
const meta = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'meta' );
const metaExample = meta[ 'mi_valor_meta' ];
Cómo registrar el post meta
Para asegurarte que el post meta esté disponible en Gutenberg tiene que estar registrado y con el atributo show_in_rest
con el valor true
.
function mg_registrar_post_meta() {
register_post_meta(
'post',
'mi_valor_meta',
[
'show_in_rest' => true,
'single' => true,
'type' => 'string',
]
);
}
add_action( 'init', 'mg_registrar_post_meta');
Cómo obtener el meta de otro post
Si quieres obtener el post meta de otro post, puedes usar la función Javascript getEntityRecord
, y pasarle el ID del post que quieres obtener:
const { meta } = wp.data.select( 'core' ).getEntityRecord( 'postType', 'post', 36 );
La función javascript getEntityRecord
es el equivalente al get_post que utilizamos en PHP.
Deja una respuesta