Como adicionar conteúdo antes ou depois de the_content e em tipos de postagem personalizados
Publicados: 2020-01-09Nas páginas e postagens do seu site WordPress, você pode adicionar algum conteúdo após o conteúdo da página ou o conteúdo da postagem. Esse conteúdo pode ser necessário em todas as páginas ou postagens ou em ambos os tipos de postagens personalizadas. Nesse caso, você precisa usar um filtro que adiciona conteúdo antes ou depois da função_content no tema do WordPress ou no modelo de página do plugin. Felizmente, hoje, vou ilustrar a maneira mais simples de como você pode fazer isso sem quebrar seu site.
Exemplo de conteúdo a ser adicionado após o conteúdo do post
Um bom exemplo é quando você deseja compartilhar com seus visitantes uma nota rápida sobre divulgação de afiliados ou política de comentários.
Em vez de digitar esse conteúdo toda vez que publicar o post ou página, você pode fazer isso automaticamente usando um filtro.
Você não apenas economizará tempo, mas também evitará erros de digitação toda vez que precisar adicionar esse tipo de conteúdo. Se você não é um desenvolvedor do WordPress, pode facilmente adicionar este trecho ao seu arquivo functions.php e substituir o conteúdo pelo seu respectivo conteúdo. Você não precisa se preocupar com isso no futuro.
Adicionando conteúdo após a página ou poste conteúdo no WordPress
Ao criar temas do WordPress ou personalizar temas do WordPress, pode ser necessário adicionar conteúdo ao final de the_content . É particularmente comum quando você está usando campos Meta personalizados ou tipos de postagem personalizados com detalhes específicos que devem ser adicionados ao final de cada postagem.
Você pode possivelmente estar usando get_post_meta , get_user_meta ou get_option para obter os dados armazenados para o post ou usuário específico antes de serem adicionados após a função the_content.
Existem várias situações em que pode ser necessário adicionar conteúdo após the_content . Quero facilitar para você, demonstrando passo a passo como adicionar conteúdo após the_content.
Filtrar Hook após the_content para adicionar novo conteúdo
Obviamente, para adicionar qualquer conteúdo em uma página do WordPress, você precisa entender como os ganchos de filtro funcionam. Idealmente, o WordPress tem dois tipos de ganchos, os ganchos de ação e os filtros, conforme explicado claramente neste post – ganchos do_action do WordPress e aplique filtros, ou você deve pelo menos ter uma ideia de como editar o arquivo functions.php em seu tema
Portanto, exigimos um filtro que filtre o conteúdo em nossa página e adicione o novo conteúdo antes que possamos retornar a saída.
Adicionar conteúdo após the_content no WordPress
Primeiro precisamos criar o filtro da seguinte forma:
add_filter('the_content', 'add_content_after');
A função callback agora deve conter o código que queremos adicionar após the_content devemos também passar o parâmetro $content na função callback para que filtremos e retornemos:
function add_content_after($content) { $after_content = “Exemplo de nossa política de comentários”; $completo = $conteúdo. $depois_conteúdo; return $fullconteúdo; }
Então, neste caso, estamos adicionando o $after_content e ele é exibido conforme a imagem abaixo:
Você pode substituir o valor de $after_content no código com sua mensagem e adicionar o snippet completo ao functions.php e o conteúdo será adicionado após o conteúdo. O snippet de código combinado é o seguinte:
add_filter('the_content', 'add_content_after'); function add_content_after($content) { $after_content = “Exemplo de nossa política de comentários após postar conteúdo”; $completo = $conteúdo. $depois_conteúdo; return $fullconteúdo; }
Adicionar conteúdo antes de the_content na página ou postagem do WordPress
Em algumas circunstâncias, você pode querer adicionar o conteúdo antes de the_content . Por exemplo, quando eu estava construindo recentemente um site de animais de estimação, precisei listar os detalhes das raças de cães antes que o conteúdo pudesse ser exibido conforme mostrado na imagem abaixo:
Embora neste projeto eu tenha usado uma abordagem diferente, se você precisasse exibir o conteúdo antes de the_content , você ainda usaria o filtro compartilhado acima e a única diferença é quando você está juntando a variável $fullcontent .
Nesse caso, você começaria com o conteúdo que deseja exibir primeiro, conforme mostrado abaixo:
add_filter('the_content', 'add_content_before'); function add_content_before($content) { $before_content = “Exemplo de nossa política de comentários antes de postar conteúdo”; $fullcontent = $before_content . $conteúdo; return $fullconteúdo; }
A saída deve ser exibida conforme destacado na imagem abaixo:
Adicionar conteúdo antes e depois de the_content na página ou postagem do WordPress
Você também pode ter um cenário combinado em que deseja exibir conteúdo antes e depois de the_content e isso pode ser feito com o seguinte código:
add_filter('the_content', ' add_content_before_and_after); function add_content_before_and_after($content) { $before_content = “Exemplo de nossa política de comentários antes e depois de postar conteúdo”; $after_content = “Exemplo de nossa política de comentários antes e depois de postar conteúdo”; $fullcontent = $before_content . $ conteúdo . $depois_conteúdo; return $fullconteúdo; }
A saída deve ser exibida conforme destacado na imagem abaixo:
Adicionar conteúdo antes e depois de the_content e em tipos de postagem personalizados
Se você preferir adicionar apenas este conteúdo para um tipo de postagem personalizado específico, você pode adicionar alguma lógica que determina se estamos visualizando o tipo de postagem personalizado e, em caso afirmativo, adicionamos o conteúdo, senão retornamos o padrão the_content.
Nesse caso, se o seu tipo de postagem personalizado for chamado de 'livros', o código deve ser o seguinte:
//4 etapas para adicionar o novo conteúdo a um modelo de página de tipo de postagem personalizado específico add_filter('the_content', 'add_new_content_after_books_custom_post_type'); function add_new_content_after_books_custom_post_type($content) { //1) Verifique se estamos no post único e o tipo de post é igual a livros, ou seja, o slug do tipo de post personalizado if (is_singular("livros")){ //2) Adicione o novo conteúdo a uma variável $new_books_content = "Este é o novo conteúdo do livro a ser adicionado após o tipo de postagem personalizada de Livros" $aftercontent = $new_books_content; $completo = $conteúdo. $depois de conteúdo; //3) Retorna a primeira vez para o tipo de postagem personalizado se a condicional for verdadeira return $fullconteúdo; }senão{ //4) Se for qualquer outra página ou post que não seja o cpt de livros retorna o padrão the_content sem o conteúdo adicional retornar $conteúdo; } }
Empacotando
Como descrevemos neste post, adicionar conteúdo após the_content ou antes não deve ser uma tarefa difícil, você pode copiar rapidamente o trecho de código para o seu arquivo theme functions.php e deve funcionar.
Como desenvolvedor profissional do WordPress, pode ser útil aprender mais sobre os ganchos de ação do WordPress e, em particular, os ganchos de filtro. Espero que você ache este tutorial útil e o compartilhe com seus colegas desenvolvedores e amigos.