Come aggiungere a the_content utilizzando add_filter con il tipo di post personalizzato?


9

Ho un tipo di post personalizzato che funziona bene, ma parte del testo nella pagina è lo stesso per ogni post, quindi voglio aggiungerlo usando una funzione.

Ho questo set up:

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');

Tuttavia, quando aggiorno la pagina, vedo solo "Test di testo qui" e non il contenuto del post (da the_content).

Se commento questa funzione, riappare il contenuto del post. Che cosa sto facendo di sbagliato?

Risposte:


8

Stai sovrascrivendo completamente il contenuto invece di aggiungerlo. Devi $content .= 'Test text here';invece fare qualcosa del genere .


Molto potere in quel periodo, grazie! Un'altra domanda: sto usando un plug-in per visualizzare i pulsanti social per Mi piace, +1 ecc. E vengono visualizzati sopra il contenuto new-default - c'è un modo per far apparire i pulsanti di seguito? Presumo che questo filtro "spezzerebbe" the_content e new_default_content come un'unica sezione completa.
George C,

1
Bene, stai aggiungendo i nuovi contenuti, quindi apparirà in seguito. Potresti provare a collegare il filtro con una priorità più alta per farlo elaborare prima che lo faccia il plug-in, perché il plug-in utilizza anche lo stesso filtro.
Helenhousandi,

Ah, esaminerò le cose prioritarie - grazie ancora!
George C,

Cordiali saluti, ho giocato con la priorità e questo ha funzionato! Grazie ancora :)
George C

-1

In modo semplice `

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

Solo il codice non è considerato una risposta di buona qualità. Dovresti spiegare cosa fa il codice e come risponde alla domanda; in questo modo i lettori principianti nella codifica capiranno la tua risposta. Puoi spiegare il tuo codice?
cybmeta,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.