{"id":228826,"date":"2022-10-17T18:01:00","date_gmt":"2022-10-17T15:01:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228826"},"modified":"2022-11-09T04:25:17","modified_gmt":"2022-11-09T01:25:17","slug":"get_post_meta-wordpress-block-editor-gutenberg-equivalente-e-geteditedpostattribute-meta","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/get_post_meta-wordpress-block-editor-gutenberg-equivalente-e-geteditedpostattribute-meta\/","title":{"rendered":"get_post_meta WordPress Block Editor (Gutenberg) Equivalente \u00e9 getEditedPostAttribute(&#8216;meta&#8217;)"},"content":{"rendered":"\n<p><a href=\"https:\/\/hashnode.com\/@wholesomecode\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external\"><\/a><\/p>\n<p>Se voc\u00ea \u00e9 novo em escrever plugins para o WordPress Block Editor (Gutenberg), pode estar procurando como obter a meta da postagem atual com <code>get_post_meta<\/code>.<\/p>\n<p>N\u00e3o tenha medo, voc\u00ea ainda pode <code>get_post_meta<\/code>usar <code>getEditedPostAttribute('meta')<\/code>no post atual para obter todo o meta, assim:<\/p>\n<pre><code>const meta = wp.data.select('core\/editor').getEditedPostAttribute('meta');\n<\/code><\/pre>\n<p>Contanto que voc\u00ea tenha <a href=\"https:\/\/wholesomecode.ltd\/#register-your-meta-key\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">disponibilizado sua meta-chave na API de descanso<\/a>, agora voc\u00ea pode peg\u00e1-la na <code>meta<\/code>vari\u00e1vel.<\/p>\n<pre><code>const meta = wp.data.select('core\/editor').getEditedPostAttribute('meta');\n\nconst metaExample = meta['wholesomecode_meta_key_example'];\n<\/code><\/pre>\n<p>No c\u00f3digo acima eu pego o valor do meu post meta( <code>wholesomecode_meta_key_example<\/code>) e passo para a vari\u00e1vel <code>metaExample<\/code>.<\/p>\n<p>Para garantir que seu post meta esteja dispon\u00edvel no Gutenberg, voc\u00ea precisa registr\u00e1-lo e garantir que <code>show_in_rest<\/code>esteja definido como <code>true<\/code>.<\/p>\n<pre><code>add_action( 'init', 'register_meta');\n\nfunction register_meta() {\n    register_post_meta(\n        'post',\n        'wholesomecode_meta_key_example',\n        [\n            'show_in_rest' =&gt; true,\n            'single'       =&gt; true,\n            'type'         =&gt; 'string',\n        ]\n    );\n}\n<\/code><\/pre>\n<h2>Obtenha o Meta de um Post ID diferente<\/h2>\n<p>Se voc\u00ea deseja obter a meta do post de outro post, voc\u00ea pode usar <code>getEntityRecord<\/code>, e passar o ID do post do post que deseja obter:<\/p>\n<pre><code>const {meta} = wp.data.select('core').getEntityRecord('postType', 'post', 42);\n<\/code><\/pre>\n<p>No exemplo acima, o meta do post (<a href=\"https:\/\/wholesomecode.ltd\/#register-your-meta-key\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">desde que tenha sido registrado<\/a>) agora est\u00e1 localizado na <code>meta<\/code>vari\u00e1vel.<\/p>\n<p>Usar <code>getEntityRecord<\/code>\u00e9 o equivalente a fazer um get_post em Gutenberg.<\/p>\n<h2>Experimente no console<\/h2>\n<p>Fa\u00e7a login no seu site e use o <code>wp<\/code>objeto no console enquanto edita uma postagem para experimentar por si mesmo. Voc\u00ea deve obter um f\u00e1cil de trabalhar com o objeto JSON da meta do post:<\/p>\n<pre><code>wp.data.select('core\/editor').getEditedPostAttribute('meta');\n{\n   wholesomecode_meta_key_example: 'Example',\n}\n<\/code><\/pre>\n<h2>Atualizando meta de postagem<\/h2>\n<p>Se voc\u00ea deseja <a href=\"https:\/\/wholesomecode.ltd\/blog\/update_post_meta-gutenberg-equivalent-editpost\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">atualizar a meta do post de dentro do WordPress Gutenberg, voc\u00ea pode fazer isso com <code>editPost<\/code>e<code>editEntityRecord<\/code><\/a>.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/wholesomecode.ltd\" class=\"external external_icon\">wholesomecode.ltd<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Se voc\u00ea \u00e9 novo em escrever plugins para o WordPress Block Editor (Gutenberg), voc\u00ea pode estar procurando por como obter o meta do post atual com get_post_meta.Never fear&#8230;<\/p>\n","protected":false},"author":1,"featured_media":223619,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[722,920,816,846,867],"tags":[1170],"class_list":["post-228826","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvedor","category-outro","category-plug-ins","category-tutoriais","category-wordpress-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/228826","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=228826"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/228826\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/223619"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=228826"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=228826"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=228826"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}