Necesito forzar un 404 en algunas publicaciones según las condiciones. Logré hacerlo (aunque no sé si lo hice de la manera correcta) y estoy haciendo que mi 404.php
plantilla se cargue como se esperaba.
Mi código:
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 );
Código 2 de esta pregunta relacionada - mismo 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' );
Mi problema:
Aunque se ve bien, obtengo un estado 200 OK
si reviso la pestaña de red. Como es un estado 200
, me temo que los motores de búsqueda también pueden indexar esas páginas.
Comportamiento esperado:
Quiero 404 Not Found
que se envíe un estado .
200
con eso.