Arquivo da tag: posts

Adicionar HTML em palavras específicas em posts e páginas

Funções: the_content

Especialmente útil para se criar links internos em seu site, este filtro usando the_contentvai modificar as strings ou palavras que definir, no texto de seus posts e páginas. Observe que isso acontece apenas na exibição do conteúdo, isto é, este filtro não modifica o texto de seus posts e páginas.

function dkc_substitui_strings($content) {
 
$wordlists = array('plugin' => 'http://exemplo.com/plugin',
                   'temas' => 'http://exemplo.com/temas',
                   'downloads' => 'http://exemplo.com/downloads',
                   );
 
foreach($wordlists as $key=>$value) {
  $content = str_replace($key,'<a href="'.$value.'">'.$key.'</a>',$content);
}
 
return $content;
}
 
add_filter('the_content','dkc_substitui_strings');

Sem ser para criar links, também dá para apenas adicionar um elemento HTML como span, trocar a palavra por outra etc.

Porque o filtro funciona na exibição dos dados, não exagere no número de itens porque pode sobrecarregar a memória PHP do seu servidor.

Modificar a ordem dos posts

Funções: pre_get_posts

Este é um filtro de permite modificar a ordem como posts são listados, é possível definir ainda ordenações diferentes de acordo com o contexto com um filtro usando pre_get_posts.

Neste exemplo, o filtro está modificando a ordem para que posts na categoria “Lugares” sejam listados por ordem alfabética:

function sort_categories_by_title($x) {
    if (is_category('lugares')) { //o nome da categoria
        $x->query_vars['orderby'] = 'title';
        $x->query_vars['order'] = 'ASC';
    }
}
 
add_action('pre_get_posts', 'sort_categories_by_title');

Além de categoria, é possível usar outros contextos como is_archive (página de arquivo), is_tag página de tags etc. Em query_vars você pode definir outros parâmetros para modificar a listagem, por exemplo remover certos posts da listagem, adicionar categorias filhas etc.