Ich muss auf einigen Posts eine 404 erzwingen, basierend auf den Bedingungen. Ich habe es geschafft (obwohl ich nicht weiß, ob ich es richtig gemacht habe) und ich bekomme eine 404.php
Vorlage, die wie erwartet geladen wird.
Mein Code:
function rr_404_my_event() {
global $post;
if ( is_singular( 'event' ) && !rr_event_should_be_available( $post->ID ) ) {
include( get_query_template( '404' ) );
exit; # so that the normal page isn't loaded after the 404 page
}
}
add_action( 'template_redirect', 'rr_404_my_event', 1 );
Code 2 aus dieser verwandten Frage - das gleiche Problem:
function rr_404_my_event() {
global $post;
if ( is_singular( 'event' ) && !rr_event_should_be_available( $post->ID ) ) {
global $wp_query;
$wp_query->set_404();
}
}
add_action( 'wp', 'rr_404_my_event' );
Mein Problem:
Obwohl es gut aussieht , erhalte ich einen Status, 200 OK
wenn ich die Netzwerkregisterkarte überprüfe. Da es sich um einen Status handelt 200
, befürchte ich, dass Suchmaschinen diese Seiten auch indizieren könnten.
Erwartetes Verhalten:
Ich möchte, dass ein Status 404 Not Found
gesendet wird.
200
.