Comment ajouter à the_content en utilisant add_filter avec un type de message personnalisé?


9

J'ai un type de publication personnalisé qui fonctionne correctement, mais une partie du texte de la page est la même pour chaque publication, donc je veux l'ajouter à l'aide d'une fonction.

J'ai cette configuration:

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

Cependant, lorsque je rafraîchis la page, je ne vois que "Test de texte ici" et non le contenu du message (de the_content).

Si je commente cette fonction, le contenu du message réapparaît. Qu'est-ce que je fais mal?

Réponses:


8

Vous écrasez complètement le contenu au lieu de l'ajouter. Vous devez faire quelque chose comme à la $content .= 'Test text here';place.


Beaucoup de puissance pendant cette période, merci! Une autre question: j'utilise un plugin pour afficher les boutons sociaux pour Like, +1 etc. et ils apparaissent au-dessus du nouveau contenu par défaut - existe-t-il un moyen pour que les boutons apparaissent ci-dessous? J'ai supposé que ce filtre "fragmenterait" le_contenu et le nouveau_default_content en une section complète.
George C

1
Eh bien, vous ajoutez le nouveau contenu, il apparaîtra ensuite. Vous pouvez essayer de connecter le filtre à une priorité plus élevée pour le faire traiter avant le plug-in, car le plug-in utilise également le même filtre.
helenhousandi

Ah, je vais examiner la chose prioritaire - merci encore!
George C

Pour info j'ai joué avec la priorité et ça a fait l'affaire! Merci encore :)
George C

-1

De manière simple `

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

Seul le code n'est pas considéré comme une réponse de bonne qualité. Vous devez expliquer ce que fait le code et comment il répond à la question; de cette façon, les lecteurs débutants en codage comprendront votre réponse. Pouvez-vous expliquer votre code?
cybmeta
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.