No artigo sobre Temas filhos, você viu como modificar temas sem precisar refazer tudo e que recursos especiais em temas pai devem ser desativados, já que os arquivos de funções dos temas pai e filho se somam.Como exemplo, vamos usar o tema padrão Twenty Ten.

No arquivo functions.php do tema Twenty Ten, há várias funções especiais que modificam como certas informações são mostradas, por exemplo, os comentários, os resumos das postagens etc.

Um dos recursos que precisei remover do tema, foi a adição de link “Leia mais” em resumo manuais. Este recurso adiciona o link “Leia mais” em resumos feitos a mão, (nesta página, o resumo é o texto em verde logo abaixo do título). O recurso é uma função chamada twentyten_custom_excerpt_more, na linha 274, adicionada através de um filtro:

  1. function twentyten_custom_excerpt_more( $output ) {
  2.         if ( has_excerpt() && ! is_attachment() ) {
  3.                 $output .= twentyten_continue_reading_link();
  4.         }
  5.         return $output;
  6. }
  7. add_filter( 'get_the_excerpt', 'twentyten_custom_excerpt_more' );

Se comentar a linha 280, o recurso desaparece, mas lembre-se: não é certo modificar temas diretamente!

Para desativar este recurso, é preciso adicionar uma instrução especial ao arquivo functions.php do tema filho, apenas copiamos a linha com add_filter e substituímo o add por remove:

add_action( 'after_setup_theme', 'dkc_child_theme_setup' );
function dkc_child_theme_setup() {
remove_filter( 'get_the_excerpt', 'twentyten_custom_excerpt_more' );
}

Cada recurso que quer remover pode ser adicionado dentro desta única função, por exemplo:

add_action( 'after_setup_theme', 'dkc_child_theme_setup' );
function dkc_child_theme_setup() {
remove_filter( 'get_the_excerpt', 'twentyten_custom_excerpt_more' );
remove_filter( 'get_the_excerpt', 'twentyten_auto_excerpt_more' );
remove_filter( 'gallery_style', 'twentyten_remove_gallery_css' ); 
}

Dicas

  • Adicione o código para remover recursos no início do arquivo
  • Quando procurar por recursos a serem desativados, procure por add_filter em todos os arquivos do tema, há temas com funções espalhadas em vários arquivos (péssima mania!).