Jak dołączyć do treści za pomocą add_filter z niestandardowym typem postu?


9

Mam niestandardowy typ posta, który działa poprawnie, ale część tekstu na stronie jest taka sama dla każdego postu, więc chcę go dodać za pomocą funkcji.

Mam to skonfigurowane:

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

Jednak po odświeżeniu strony widzę tylko „Test tekstu tutaj”, a nie treść posta (z treści).

Jeśli skomentuję tę funkcję, treść postu pojawi się ponownie. Co ja robię źle?

Odpowiedzi:


8

Całkowicie zastępujesz treść zamiast ją dołączać. Zamiast tego musisz zrobić coś takiego $content .= 'Test text here';.


Duża moc w tym okresie, dzięki! Kolejne pytanie: używam wtyczki do wyświetlania przycisków społecznościowych dla Like, +1 itd. I pojawiają się one nad nową domyślną treścią - czy istnieje sposób, aby przyciski pojawiły się poniżej? Zakładałem, że ten filtr „poruszy” zawartość i nową zawartość jako jedną kompletną sekcję.
George C

1
Dołączasz nową treść, więc pojawi się ona później. Możesz spróbować podłączyć filtr o wyższym priorytecie, aby umożliwić jego przetworzenie przed uruchomieniem wtyczki, ponieważ wtyczka korzysta również z tego samego filtra.
helenhousandi,

Ach, przyjrzę się priorytetowi - jeszcze raz dziękuję!
George C

Do waszej dyspozycji bawiłem się priorytetem i to załatwiło sprawę! Jeszcze raz dziękuję :)
George C

-1

W prosty sposób `

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

Tylko kod nie jest uważany za odpowiedź dobrej jakości. Powinieneś wyjaśnić, co robi kod i jak odpowiada na pytanie; w ten sposób czytelnicy, którzy są nowicjuszami w kodowaniu, zrozumieją twoją odpowiedź. Czy potrafisz wyjaśnić swój kod?
cybmeta
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.