Jak dodać treść przed lub po_treści i w niestandardowych typach postów
Opublikowany: 2020-01-09Na stronach i postach w witrynie WordPress możesz chcieć dodać zawartość po zawartości strony lub treści posta. Taka treść może być wymagana na wszystkich stronach lub w postach lub w obu typach postów niestandardowych. W takim przypadku należy skorzystać z filtra, który dodaje treść po lub przed funkcją the_content w motywie WordPress lub szablonie strony wtyczki. Na szczęście dzisiaj zilustruję najprostszy sposób, w jaki można to zrobić bez uszkadzania witryny.
Przykład treści do dodania po treści posta
Dobrym przykładem jest sytuacja, w której chcesz podzielić się z odwiedzającymi krótką notatką na temat ujawniania informacji o podmiotach stowarzyszonych lub polityki komentarzy.
Zamiast wpisywać tę treść za każdym razem, gdy publikujesz post lub stronę, możesz zrobić to automatycznie za pomocą filtra.
Nie tylko zaoszczędzisz czas, ale także unikniesz literówek za każdym razem, gdy będziesz musiał dodawać tego rodzaju treści. Jeśli nie jesteś programistą WordPress, możesz łatwo dodać ten fragment do pliku functions.php i zastąpić zawartość odpowiednią zawartością. Nie musisz się o to martwić w przyszłości.
Dodawanie treści po treści strony lub posta w WordPress
Podczas tworzenia motywów WordPress lub dostosowywania motywów WordPress może być konieczne dodanie treści na końcu the_content . Jest to szczególnie powszechne, gdy używasz niestandardowych pól Meta lub niestandardowych typów postów z określonymi szczegółami, które należy dodać na końcu każdego postu.
Ewentualnie możesz użyć get_post_meta , get_user_meta lub get_option , aby uzyskać dane przechowywane dla konkretnego posta lub użytkownika przed dodaniem ich po funkcji the_content.
Istnieje kilka sytuacji, w których może być konieczne dodanie treści po the_content . Chcę Ci to ułatwić, demonstrując krok po kroku, jak dodawać treść po the_content.
Filtr Hook po the_content, aby dodać nową zawartość
Oczywiście, aby dodać dowolną treść na stronie WordPress, musisz zrozumieć, jak działają haki filtrów. Idealnie, WordPress ma dwa rodzaje hooków, czyli działania i filtry, co zostało jasno wyjaśnione w tym poście – WordPress do_action podpina i stosuje filtry, lub przynajmniej powinieneś mieć pomysł, jak edytować plik functions.php w swoim motywie
Potrzebujemy więc filtru, który przefiltruje zawartość naszej strony, a następnie doda nową zawartość, zanim zwrócimy dane wyjściowe.
Dodaj treść po the_content w WordPress
Najpierw musimy stworzyć filtr w następujący sposób:
add_filter('the_content', 'add_content_after');
Funkcja callback powinna teraz zawierać kod, który chcemy dodać po the_content, powinniśmy również przekazać parametr $content w funkcji callback, aby filtrować i zwracać:
funkcja add_content_after($zawartość) { $after_content = “Przykład naszej polityki komentarzy”; $pełna treść = $zawartość . $po_treści; zwróć $pełną treść; }
Tak więc w tym przypadku dodajemy $after_content i jest on wyświetlany, jak pokazano na poniższym obrazku:
Możesz zastąpić wartość $after_content w kodzie swoją wiadomością i dodać cały fragment kodu do functions.php, a treść zostanie dodana po treści. Połączony fragment kodu wygląda następująco:
add_filter('the_content', 'add_content_after'); funkcja add_content_after($zawartość) { $after_content = “Przykład naszej polityki komentarzy po treści posta”; $pełna treść = $zawartość . $po_treści; zwróć $pełną treść; }
Dodaj treść przed treścią na stronie lub poście WordPress
W niektórych przypadkach możesz chcieć dodać treść przed the_content . Na przykład, kiedy ostatnio tworzyłem witrynę dla zwierząt, musiałem podać szczegóły ras psów, zanim treść będzie mogła zostać wyświetlona, jak pokazano na poniższym obrazku:
Chociaż w tym projekcie zastosowałem inne podejście, jeśli chciałbyś wyświetlić zawartość przed the_content , nadal używałbyś filtra udostępnionego powyżej, a jedyną różnicą jest to, gdy dołączasz do zmiennej $fullcontent .
W takim przypadku zacząłbyś od treści, którą chcesz wyświetlić jako pierwszą, jak pokazano poniżej:
add_filter('the_content', 'add_content_before'); funkcja add_content_before($zawartość) { $before_content = „Przykład naszej polityki komentarzy przed treścią posta”; $pełna treść = $przed_treścią . $treść ; zwróć $pełną treść; }
Dane wyjściowe powinny być wyświetlane tak, jak pokazano na poniższym obrazku:
Dodaj treść przed i po treści na stronie lub w poście WordPress
Możesz również mieć połączony scenariusz, w którym chcesz wyświetlać zawartość przed i po the_content , a można to osiągnąć za pomocą następującego kodu:
add_filter('treść', ' add_content_before_and_after); funkcja add_content_before_and_after($content) { $before_content = “Przykład naszej polityki komentarzy przed i po treści posta”; $after_content = “Przykład naszej polityki komentarzy przed i po treści posta”; $pełna treść = $przed_treścią . $treść . $po_treści; zwróć $pełną treść; }
Dane wyjściowe powinny być wyświetlane tak, jak pokazano na poniższym obrazku:
Dodaj treść przed i po the_content oraz w niestandardowych typach postów
Jeśli wolisz dodać tylko tę zawartość dla określonego niestandardowego typu posta, możesz dodać pewną logikę, która określa, czy oglądamy niestandardowy typ posta, a jeśli tak, dodamy zawartość w innym przypadku, zwrócimy domyślną wartość the_content.
W takim przypadku, jeśli Twój niestandardowy typ posta nosi nazwę „książki” , kod powinien wyglądać następująco:
//4 Kroki dodawania nowej treści do określonego niestandardowego szablonu strony typu post add_filter('the_content', 'add_new_content_after_books_custom_post_type'); funkcja add_new_content_after_books_custom_post_type($content) { //1) Sprawdź, czy jesteśmy na pojedynczym poście, a typ posta jest równy książkom, czyli slugowi niestandardowego typu postu if (is_singular("książki")){ //2) Dodaj nową zawartość do zmiennej $new_books_content = "To jest nowa treść książki do dodania po niestandardowym typie postu Książki" $aftercontent = $new_books_content; $pełna treść = $zawartość . $potreści; //3) Zwróć pierwszy raz dla niestandardowego typu postu, jeśli warunek jest prawdziwy zwróć $pełną treść; }w przeciwnym razie{ //4) Jeśli jest to jakakolwiek inna strona lub post nie, książki cpt zwracają domyślną treść_treści bez dodatkowej treści zwróć $treść; } }
Zawijanie
Jak wspomnieliśmy w tym poście, dodawanie treści po the_content lub wcześniej nie powinno być trudnym zadaniem, możesz szybko skopiować fragment kodu do pliku functions.php motywu i powinno działać.
Jako profesjonalny programista WordPress, pomocne może być poznanie haków akcji WordPress, a w szczególności haków filtrów. Mam nadzieję, że ten samouczek okaże się przydatny i podzielisz się nim z innymi programistami i przyjaciółmi.