Wie können Sie einen 404 auslösen, wenn Sie benutzerdefinierte Abfragevariablen verwenden? Ich habe Regeln für eine benutzerdefinierte Abfrage var neu geschrieben, aber wenn Sie eine URL für die Abfrage var, die technisch eine 404 sein sollte anfordern, gibt es eine normale WP-Seite, aber keinen Inhalt, da nichts technisch für die existiert URL
Dafür gibt es eine Aktion:
function my_parse_query( $wp_query ) { if ( $wp_query->get( 'my_custom_var' ) > 42 ) { $wp_query->set_404(); status_header( 404 ); } } add_action( 'parse_query', 'my_parse_query' );
Das sollte die 404.php Vorlage in dein Thema laden, wenn du es hast. Andernfalls wird auf index.php zurückgegriffen.
Dies triggers auch einen HTTP 404-Statuscode aus.
Weitere Informationen finden Sie unter parse_query .
Fügen Sie Ihrem Theme eine 404.php hinzu und schauen Sie, ob es aufgerufen wird.
< !doctype> 404 404 – Mwah!
Was noch wichtiger ist: die echten HTTP-Header, hier der Statuscode. Sie können es mit Ihren Browser-Entwicklertools unter Netzwerk sehen . Hier ist ein Screenshot für http://wordpress.stackexchange.com/404
in Opera Dragonfly:
Siehe Bild in voller Größe
Wenn Sie immer noch einen Statuscode 200 erhalten, schauen Sie in die globalen Variablen $wp
und $wp_query
. Sie werden Ihnen mehr Details über die abgerufene Ressource mitteilen.