Saya perlu memaksa 404 pada beberapa posting berdasarkan kondisi. Saya berhasil melakukannya (walaupun saya tidak tahu apakah saya melakukannya dengan cara yang benar) dan saya mendapatkan 404.php
template saya untuk memuat seperti yang diharapkan.
Kode saya:
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 );
Kode 2 dari pertanyaan terkait ini - masalah yang sama:
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' );
Masalah saya:
Meskipun terlihat bagus, saya mendapatkan status 200 OK
jika saya memeriksa tab jaringan. Karena ini adalah status 200
, saya khawatir mesin pencari akan mengindeks halaman-halaman itu juga.
Perilaku yang Diharapkan:
Saya ingin status 404 Not Found
dikirim.
200
dengan itu.