Olá queridos leitores, hoje vamos falar de um assunto bem interessante, sobre o content do seu post.
Sabemos que dentro do post (mesmo que seja um Custom Post Type) existe um conteúdo como padrão, aliás temos a estrutura básica:
- Título
- Autor
- Conteúdo
- Categorias
- Tags
- Excerpt (Resumo)
- Thumbnails (Imagem de destaque)
Mas, em alguma situações, precisamos manipular por alguns motivos esse conteúdo. Pode ser por alguns motivos:
- Inserir / Remover Ads
- Formatar
- Inserir imagens / Conteúdo relacionado
- Entre outros
the_content()
A função the_content() pega o conteúdo especificado, formatado da forma que você gravou e imprime na tela, com a mesma formatação, obedecendo as tags de html.
<?php the_content(); ?>
get_the_content()
A função get_the_content() pega o conteúdo específico, remove todas as tags <html> e armazena em uma variável (normalmente), sem imprimir na tela
<?php $conteudo = get_the_content(); ?>
Lembrando que quando falo de tags, me refiro a <p>, <strong>, etc…
Removendo IDs do conteúdo
Quem precisa remover uma ID em específico ou mesmo você pode adaptar para uma classe
No arquivo functions.php:
// Aqui colocamos uma função para modificar o content
function conteudo_sem_alguma_id ( $content, $id_remover ) {
$documento = new DOMDocument();
$documento ->loadHTML('<?xml encoding="UTF-8">' . $content);
$elemento = $documento->getElementById($id_remover);
$elemento->parentNode->removeChild($elemento);
$content = $documento->saveHTML();
return $content;
}
Note que eu joguei uma codificação UTF-8 para não termos problema com nossa acentuação.
No seu caso, se tiver problemas com essa codificação, simplesmente remova a codificação modificando a linha para essa:
$documento ->loadHTML($content);
Após isso, no seu tema, no local que desejar usar utilize-o da seguinte forma:
<?php $conteudo = conteudo_sem_alguma_id (get_the_content(), 'anuncio-topo');
// Nesse caso, o ID do HTML que quero remover é o anuncio-topo
echo $conteudo;?>
No exemplo acima, ele remove a ID e deixa o texto todo formatado, com os parágrafos, negritos, etc