Back-End

17 jun, 2010

Inserindo resumo em uma página WordPress sem plugin

Publicidade

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


  1. 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.

  2. 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.