A funcionalidade de resumo para páginas no WordPress

Por padrão, o WordPress disponibiliza a funcionalidade de resumo para os Posts. Aprenda implementar o Resumo para páginas.

Seus amigos merecem saber desse conteúdo?

O recurso de resumo para páginas no WordPress, quando necessário no projeto, precisa ser ativado.

Por padrão, o WordPress já disponibiliza a funcionalidade de resumo para os posts, além de uma template tag comumente utilizada, chamada the_excerpt(), e sua alinhada get_the_excerpt().

Essa mesma opção de resumo pode ser estendida para as páginas ou qualquer outro tipo de post personalizado – os famosos Custom Post Types.

Nesse último caso, a funcionalidade é adicionada através do argumento supports que recebe um array com os suportes desejados.

Para os resumos, o suporte é “excerpt”.

Como implementar o Resumo para páginas

É possível implementar recursos adicionais nos variados tipos de posts no WP através da função add_post_type_support().

Essa função recebe dois parâmetros: o tipo de post e a funcionalidade a ser agregada.

Em nosso contexto o tipo de post é “page” e o recurso é o “excerpt”.

O código da implementação do resumo para páginas seria assim:

<?php
add_action( 'after_setup_theme', 'theme_setup' );

function theme_setup() {
    add_action( 'init', 'add_support_to_pages' );
}

function add_support_to_pages() {
    add_post_type_support( 'page', 'excerpt' );
}

O código demonstrado acima deve ser colocado no arquivo functions.php do seu tema ou em um plugin.

Na interface de edição de páginas teremos o box de resumo como ilustrado na imagem abaixo.

Caixa de resumo para páginas no WordPress

Em caso de não visualização do box de resumo para páginas, certifique que a opção está marcada para exibição em Opções de tela – exibido no canto superior direito da tela de edição de páginas.

Opções de Tela no WordPress

Funções para se dar bem com os resumos no WordPress

No início deste artigo, eu apresentei duas funções: the_excerpt() e get_the_excerpt().

Ambas devem ser utilizadas em conjunto com o Loop do WordPress.

A primeira exibirá o resumo na tela, enquanto a segunda retornará o valor e, assim, podendo ser armazenada numa variável e ser manipulada como o desenvolver precisar.

Um exemplo clássico de uso da função get_the_excerpt() é limitar a quantidade de caracteres a serem exibidos.

Por exemplo:

<?php
while( have_posts() ) : the_post();
...
$_the_excerpt = get_the_excerpt();
$the_excerpt = substr( $_the_excerpt, 0, 30 );
echo $the_excerpt;
if ( strlen( $the_excerpt ) > 30 )
    echo ' ...';
...
?>

Mas convenhamos que o exemplo acima é trabalhoso e nada elegante.

Uma melhor implementação e uso do resumo para páginas nos arquivos do tema seria assim:

<?php 
add_action( 'after_setup_theme', 'theme_setup' ); 

function theme_setup() { 
     add_action( 'init', 'add_support_to_pages' );
     add_filter( 'excerpt_length', 'define_excerpt_length' );
} 

function add_support_to_pages() { 
     add_post_type_support( 'page', 'excerpt' ); 
}

function define_excerpt_length( $length ) {
     return 30;
}

Com a implementação acima, quando a chamada à função the_excerpt() for feita, será retornado no máximo 30 palavras.

Importante frisar que no exemplo usando a função do PHP substr limitamos a exibição em no máximo 30 caracteres, já no segundo exemplo,  30 palavras.

O padrão do WordPress é retornar até 55 palavras.

Se o seu projeto requerer diferentes total de palavras a serem retornadas, siga com o uso da função wp_trim_words().

Veja um exemplo de uso dela:

<?php
while( have_posts() ) : the_post();
...
$the_excerpt = wp_trim_words( get_the_excerpt(), 30 );
echo $the_excerpt;
...
endwhile;

A função wp_trim_words() aceita até três parâmetros, sendo somente o primeiro requerido.

  • O primeiro parâmetro, $text, recebe o texto a ser analisado;
  • O segundo, $num_words, é o total de palavras a serem consideradas no texto informado. O padrão é 55;
  • Para finalizar, o parâmetro $more é concatenado ao texto caso ele tenha mais que o total de palavras desejada. O padrão é uma reticências, &hellip;.

Por falar em concatenação, vocês já devem ter percebido que o WordPress faz uso da string “[…]” junto ao texto retornado pela função the_excerpt().

Se você não gosta desse comportamento ou prefere algum outro caractere, siga assim:

<?php 
add_action( 'after_setup_theme', 'theme_setup' ); 

function theme_setup() { 
     add_action( 'init', 'add_support_to_pages' );
     add_filter( 'excerpt_length', 'define_excerpt_length' );
     add_filter( 'excerpt_more', 'define_excerpt_more' );
} 

function add_support_to_pages() { 
     add_post_type_support( 'page', 'excerpt' ); 
}

function define_excerpt_length( $length ) {
     return 30;
}

function define_excerpt_more( $default_more ) {
    return ' o que você quiser';
}

Conclusão

Resumos são utilizados em várias situações de projetos para exibir informação complementar a um conteúdo.

Resumo para páginas também pode ser considerado, mas como percebemos, precisa ser ativado.

Como qualquer tipo de conteúdo no WordPress são posts, é possível de fazer uso do recurso em páginas ou qualquer outro tipo de post.

Embora o mesmo tipo de funcionalidade possa ser utilizada através de campos personalizados, fazer uso de recursos nativos é sempre uma melhor opção.

Nesse caso será melhor para o usuário, acostumado com a interface e melhor ainda para o desenvolvedor, acostumado com o padrão de uso.