Wie trigger 404 für benutzerdefinierte Abfrage var?

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

Solutions Collecting From Web of "Wie trigger 404 für benutzerdefinierte Abfrage var?"

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.

Beispiel 404.php

 < !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:

Bildschirmfoto

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.