Se você tem um site em WordPress, já deve ter
precisado inserir o metabox “Resumo” no tipo de post
“Página”. Antes, esse problema só era solucionado utilizando plugins ou inserindo manualmente um metabox. Mas, na versão 3.0, o WordPress traz uma variedade de novas
funções, como add_post_type_support() e remove_post_type_support().
Funcionalidades
add_post_type_support(
$post_type, $feature ) – Adiciona
uma funcionalidade a determinado tipo de post. O parâmetro
$post_type permite a você especificar qual tipo de post irá ser
afetado. Esse tipo não se limita a páginas, você pode utilizar
qualquer tipo de post válido, como um já registrado por
register_post_type
por exemplo.
remove_post_type_support(
$post_type, $feature ) – Funciona
exatamente como a função add_post_type_support(),
com a diferença de que, ao invés de adicionar uma funcionalidade,
ele retira esta funcionalidade.
Adicionando
o metabox “Resumo” (excerpt) à páginas
Veja como é simples
habilitar o “Resumo” (the excerpt) na página (page).
Adicione
em seu functions.php
a seguinte linha:
add_post_type_support('page','excerpt');
O código é
bastante intuitivo, mas vamos para a curta explicação, de todo modo: no primeiro parâmetro, dizemos para inserir esta funcionalidade no
tipo de post “page”, e, no segundo, dizemos qual é esta
funcionalidade – no nosso caso, é o “excerp” (resumo).
Pronto, inserimos o
resumo à página.
Vamos ver um outro
exemplo. Você já deve ter notado que, em posts, não existe o
metabox “Atributos de páginas”, o qual só existe em
páginas. Pois bem, vamos mudar isso:
add_post_type_support('post','page-attributes');
E…. Tadah! Agora
você pode especificar a ordem do seus posts!
Removendo
metaboxes dos posts
Vai chegar um
momento em que você não vai precisar de todas aquelas caixas em seu
post, e não vai querer confundir o usuário com tantas funcionalidades. Portanto, se o seu metabox “Campos personalizados” está
confundido seu usuário, vamos tirá-lo:
add_action('init', 'my_init');
function my_init(){
remove_post_type_support('post', 'custom-fields');
}
É importante notar
que, ao contrário do add_post_type_support(),
que não precisa estar em uma action, o remove_post_type_support()
tem que estar!
Por serem funções
muito recentes, ainda não existe uma documentação oficial no codex
do WordPress. Fiz esse tutorial lendo os changelogs da
versão 3.0 do WP e entendendo a função, e aproveitando para
explicar aqui para vocês, espero que seja útil!
Antes de finalizar, deixarei aqui todos os valores aceitos no segundo parâmetro
($feature):
'title', 'editor', 'comments', 'revisions', 'trackbacks', 'author', 'excerpt', 'page-attributes', 'thumbnail', e 'custom-fields'
Bom, é isso. Até a
próxima.