Pod warunkiem, że masz zdefiniowaną stronę 404 w temacie, Wordpress wyświetli stronę 404, jeśli „tag” jest zdefiniowany w $ wp_query-> query_vars i nie ma żadnych postów pasujących do tego tagu.
Piszę wtyczkę, która oprócz postów wyświetla pewne informacje na każdej stronie. Chciałbym zmienić logikę 404, aby strona 404 była wyświetlana, jeśli nie ma wpisów pasujących do tagu, a wtyczka nie może pobrać żadnych danych pasujących do tego tagu. Jeśli wtyczka może znaleźć dane, chciałbym wyświetlić normalną stronę, niezależnie od tego, czy są na niej posty, czy nie ...
Byłem w Google, czytam kod, czytam kodeks i grzebię tutaj, i nie byłem w stanie dowiedzieć się, gdzie Wordpress wyzwala to 404 i jak mogę to zmienić. (Mam wrażenie, że może to mieć coś wspólnego ze status_header () w functions.php, ale nie jest jasne, jak i kiedy muszę się do tego przyłączyć).
Doceniamy wszelką pomoc / pomysły / oświecenie.
Dziękuję Ci,
~ Łatka
// configuration
require('./wp-load.php');
// init WP (inits objects, language and stuff).
wp();
// fix title (this is not 404)
$wp_query->is_404 = false; // doesn't fix the actual 404 status
status_header( 200 ); // but this does :-)
Utwórz
404.php
plik szablonu w motywie i dostosuj w razie potrzeby (dodając wyjście wtyczki lub cokolwiek innego). Wspominasz zdefiniowane w swoim motywie , co dokładnie jest złe w tym podejściu?Kodeks Tworzenie strony błędu 404
źródło