Como anexar ao the_content usando add_filter com o tipo de postagem personalizada?


9

Eu tenho um tipo de postagem personalizado em execução, mas parte do texto da página é o mesmo para todas as postagens, então quero adicioná-lo usando uma função.

Eu tenho esta configuração:

function new_default_content($content) {
global $post;
    if ($post->post_type == 'custom-post-type') {
    $content = 'Test text here';
    }
    return $content;
    }
add_filter('the_content', 'new_default_content');

No entanto, quando atualizo a página, vejo apenas "Teste de texto aqui" e não o conteúdo da postagem (a partir do conteúdo).

Se eu comentar esta função, o conteúdo da postagem reaparecerá. O que estou fazendo errado?

Respostas:


8

Você está substituindo completamente o conteúdo em vez de anexá-lo. Você precisa fazer algo parecido $content .= 'Test text here';.


Muito poder nesse período, obrigado! Outra pergunta: estou usando um plug-in para exibir botões sociais de Gosto, +1 etc. e eles estão aparecendo acima do novo conteúdo padrão - existe uma maneira de fazer com que os botões apareçam abaixo? Eu assumi que esse filtro "dividiria" o_content & new_default_content como uma seção completa.
George C

11
Bem, você está anexando o novo conteúdo, para que ele apareça depois. Você pode tentar conectar o filtro a uma prioridade mais alta para processá-lo antes do plug-in, porque o plug-in também está usando o mesmo filtro.
helenhousandi 13/09/11

Ah, vou analisar a coisa das prioridades - obrigado novamente!
George C

Para sua informação, eu brinquei com a prioridade e isso fez o truque! Obrigado novamente :)
George C

-1

De maneira simples `

               if ($post->post_type == 'custom-post-type') {
                   $new_content= 'Test text here';
                                }
                       return $content.$new_content;

Somente o código não é considerado uma resposta de boa qualidade. Você deve explicar o que o código faz e como ele responde à pergunta; dessa maneira, os leitores iniciantes em codificação entenderão sua resposta. Você pode explicar seu código?
cybmeta
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.