Ho bisogno di forzare un 404 su alcuni post in base alle condizioni. Sono riuscito a farlo (anche se non so se l'ho fatto nel modo giusto) e sto facendo 404.php
caricare il mio modello come previsto.
Il mio codice:
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 );
Codice 2 da questa domanda correlata - stesso problema:
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' );
Il mio problema:
Anche se sembra buono, ottengo uno stato 200 OK
se controllo la scheda di rete. Dal momento che è uno stato 200
, temo che anche i motori di ricerca possano indicizzare quelle pagine.
Comportamento previsto:
Voglio 404 Not Found
che venga inviato uno stato .
200
con quello.