Blog sobre WordPress
No Result
View All Result
  • Web Stories
  • Desenvolvimento
  • Infra
  • Mobile
  • Performance
  • Segurança
  • SEO
  • E-commerce
Cadastrar e-mail
  • Web Stories
  • Desenvolvimento
  • Infra
  • Mobile
  • Performance
  • Segurança
  • SEO
  • E-commerce
No Result
View All Result
Blog sobre WordPress
No Result
View All Result

Início » Desenvolvimento WordPress » Register_meta: novidades da função no WordPress 4.6

Register_meta: novidades da função no WordPress 4.6

by
7 anos ago
Reading Time: 3 min
0
register_meta
Compartilhe no FacebookCompartilhe no LinkedIn

O WordPress possui filtros que possibilitam sanitizar e definir permissões para seus post metas customizados desde a versão 3.3. Isso pode ser através da função register_meta.

As modificações na função register_meta provê aos desenvolvedores um leque de possibilidades.

Click To Tweet

Register_meta antes da versão 4.6

Até então utilizávamos essa função da seguinte maneira:

Conteúdo relacionado

Como criar Web Stories no WordPress

Como criar blocos reutilizáveis no Gutenberg

Como habilitar recursos ocultos do Gutenberg no tema WordPress

<?php

add_action( 'init', 'register_example' );

function register_example() {
   register_meta(
     'post', 
     'example_meta_key',
     'sanitize_example', 
     'auth_example'
   );
}

function sanitize_example( $meta_value, $meta_key, $meta_type ) {
    return absint( $meta_value );
}

function auth_example( $allowed, $meta_key, $post_ID ) {
    if ( ! current_user_can( 'edit_others_posts' ) ) {
       $allowed = false;
    }

    return $allowed;
}

?>

4.6

Antes de mais nada, vale ressaltar que o código acima continuará funcionando na versão 4.6, embora não será considerado integralmente registrado. Os callbacks serão registrados, entretanto as meta_keys não serão adicionadas ao registro global. Um objeto WP_Error será devolvido com esta explicação. Logo abaixo vamos entender isso.

Mas o que mudou na prática?

A partir de agora existe uma global com todas as meta_keys registradas, seu nome é $wp_meta_keys. Registrando as meta_keys da maneira que fizemos no exemplo acima elas não serão adicionadas dentro dessa global.

A assinatura da função de register_meta() mudou para suportar 3 argumentos, sendo o último um array que aceita os seguintes parâmetros:

  • sanitize_callback, um método de callback para sanitizar o valor. Esta é a nova versão do terceiro parâmetro na atual versão da register_meta().
  • auth_callback, um método de callback para definir a autorização. Esta é a nova versão do quarto parâmetro da register_meta().
  • object_subtype, uma string contendo o subtipo do objeto. Se não houver o subtipo do objeto, o meta não será registrado e um WP_Error será retornado.
  • type,  uma string indicando qual o tipo de dado do valor a ser salvo. (e.g. boolean, integer)
  • description, uma string contendo uma breve descrição do valor a ser salvo.
  • single, define se o código para recuperar essa meta_key deve esperar um valor único e vários resultados quando usar, por exemplo, a função get_post_meta().
  • show_in_rest, define se deve ser exibido nos endpoints da WordPress REST API. Note que isto deve ser tratado como experimental até que a WordPress REST API forneça suporte para metadados.
<?php
$args = array(
    'object_subtype'    => 'post',
    'sanitize_callback' => 'sanitize_my_meta_key',
    'auth_callback'     => 'authorize_my_meta_key',
    'type'              => 'string',
    'description'       => 'My registered meta key',
    'single'            => true,
    'show_in_rest'      => true,
);
register_meta( 'post', 'my_meta_key', $args );
?>

Você precisa saber…

Por padrão, apenas os tipos principais de objeto WordPress (post, user, term, comment) podem ser registrados. Para adicionar suporte para tipos de objetos personalizados, use o filtro wp_object_types.

Object Subtypes (subtipos de objeto) fornecem um registro específico meta_keys a um tipo de dados.

  • Um post padrão tem um tipo de objeto “post” e um subtipo de objeto  “post”.
  • Um tipo de post personalizado registrado com slug  “my_cpt” tem um tipo de objeto “post” e um subtipo de objeto “my_cpt”.
  • Um usuário tem um tipo de objeto  “user” e um subtipo de objeto  “user”.
  • Um comentário padrão tem um tipo de objeto “comment” e um subtipo de objeto “comment”.
  • Um termo de categoria padrão tem um tipo de objeto “term” e um subtipo de objeto “category”.
  • A taxonomia personalizada registrada com slug “my_tax” tem um tipo de objeto “term” e um subtipo de objeto “my_tax”.

As meta_keys devem ser explicitamente registradas para cada tipo de objeto e combinação de subtipo.

Manipulando meta_keys registradas

Para auxiliar a tarefa de consultar/manipular as meta_keys registradas na global $wp_meta_keys foram adicionadas novas funções:

  • get_registered_metadata()
  • get_registered_meta_keys()
  • unregister_meta()
  • registered_meta_key_exists()

As modificações na função register_meta provê aos desenvolvedores de temas e plugins um leque muito grande de possibilidades a serem exploradas.

Pronto para desfrutar de todos os recursos que o WordPress 4.6 tem a oferecer?

Tags: Developermeta_keysWordPress 4.6
Share8Share1SendShare
Previous Post

WordPress 4.6: Melhorias no editor para ganho de produtividade

Next Post

WordPress 4.6 | as facilidades do Shiny Updates para você

Related Posts

Anatomia do Gutenberg, o editor do WordPress
Desenvolvimento WordPress

Anatomia do Gutenberg, o editor do WordPress

13 de janeiro de 2021
As vantagens do editor Gutenberg para WordPress
Desenvolvimento WordPress

As vantagens do editor Gutenberg para WordPress

19 de agosto de 2020
Metodologia BPM para melhoria de processos dentro da empresa
Desenvolvimento WordPress

Metodologia BPM para melhoria de processos dentro da empresa

15 de janeiro de 2021
Scrum e PMBOK - aliados na gestão de projetos
Desenvolvimento WordPress

PMBOK e Scrum: grandes aliados na gestão de projetos

15 de janeiro de 2021
Next Post
Shiny Updates

WordPress 4.6 | as facilidades do Shiny Updates para você

requests

WordPress 4.6 Requests, o que há de novo para você

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Receba no seu e-mail uma série de conteúdos sobre Infra para WordPress.

  • Este campo é para fins de validação e não deve ser alterado.

Facebook LinkedIn Instagram Twitter Youtube Github RSS

Sobre a Apiki

Empresa especializada em WordPress com três unidades de negócios.

  1. Design e Desenvolvimento;
  2. Infra e Hospedagem;
  3. Suporte e manutenção.

Em resumo, só fazemos uma coisa em WordPress: tudo.

Páginas do Apiki.com

  • Apiki.com
  • Sobre a Apiki
  • Hospedagem
  • Desenvolvimento
  • UX & UI para WordPress
  • Growth em WordPress
  • Suporte
  • Atendimento

Páginas do Blog

  • Sobre
  • Newsletter
  • Desenvolvimento WordPress
  • Segurança para WordPress
  • WordPress Mobile
  • Infra para WordPress
  • WordPress SEO
  • WordPress Performance
  • E-commerce

© 2020 Apiki - Empresa especializada em WordPress.

No Result
View All Result
  • Web Stories
  • Desenvolvimento
  • Infra
  • Mobile
  • Performance
  • Segurança
  • SEO
  • E-commerce

© 2020 Apiki - Empresa especializada em WordPress.