get_post_meta Éditeur de blocs WordPress (Gutenberg) L’équivalent est getEditedPostAttribute(‘meta’)
Si vous débutez dans l’écriture de plugins pour l’éditeur de blocs WordPress (Gutenberg), vous cherchez peut-être comment obtenir la méta de la publication actuelle avec get_post_meta.
N’ayez crainte, vous pouvez toujours get_post_metautiliser getEditedPostAttribute('meta')sur le message actuel pour obtenir toutes les méta, comme ceci :
const meta = wp.data.select('core/editor').getEditedPostAttribute('meta');
Tant que vous avez rendu votre clé méta disponible dans l’API de repos, vous pouvez maintenant la récupérer à partir de la metavariable.
const meta = wp.data.select('core/editor').getEditedPostAttribute('meta');
const metaExample = meta['wholesomecode_meta_key_example'];
Dans le code ci-dessus, je récupère la valeur de mon post meta( wholesomecode_meta_key_example) et la transmets à la variable metaExample.
Pour vous assurer que votre méta de publication est disponible dans Gutenberg, vous devez l’enregistrer et vous assurer qu’elle show_in_restest définie sur 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',
]
);
}
Obtenez le méta à partir d’un autre identifiant de publication
Si vous souhaitez obtenir la méta d’un autre article, vous pouvez utiliser getEntityRecord, et lui transmettre l’ID de l’article que vous souhaitez obtenir :
const {meta} = wp.data.select('core').getEntityRecord('postType', 'post', 42);
Dans l’exemple ci-dessus, la méta du message (à condition qu’il ait été enregistré) se trouve maintenant dans la metavariable.
Utiliser getEntityRecordéquivaut à faire un get_post dans Gutenberg.
Essayez-le dans la console
Connectez-vous à votre site et utilisez l’ wpobjet dans la console tout en éditant un message pour l’essayer par vous-même. Vous devriez obtenir un objet JSON facile à utiliser de la méta post :
wp.data.select('core/editor').getEditedPostAttribute('meta');
{
wholesomecode_meta_key_example: 'Example',
}
Mise à jour de la méta des publications
Si vous souhaitez mettre à jour la méta des publications depuis WordPress Gutenberg, vous pouvez le faire avec editPosteteditEntityRecord.