Preciso forçar um 404 em algumas postagens com base nas condições. Consegui fazer isso (embora não saiba se fiz da maneira certa) e estou carregando meu 404.php
modelo para carregar conforme o esperado.
Meu 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 desta pergunta relacionada - mesmo 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' );
Meu problema:
Embora pareça bom, recebo um status 200 OK
se verificar a guia de rede. Como é um status 200
, receio que os mecanismos de pesquisa também possam indexar essas páginas.
Comportamento esperado:
Quero que um status 404 Not Found
seja enviado.
200
com isso.