ฉันต้องการบังคับ 404 ในบางโพสต์ตามเงื่อนไข ฉันจัดการเพื่อทำมัน (แม้ว่าฉันไม่ทราบว่าฉันทำถูกวิธี) และฉันได้รับ404.php
แม่แบบของฉันโหลดตามที่คาดไว้
รหัสของฉัน:
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 );
รหัส 2 จากคำถามที่เกี่ยวข้อง - ปัญหาเดียวกัน:
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' );
ปัญหาของฉัน:
แม้ว่าจะดูดี แต่ฉันได้รับสถานะ200 OK
ถ้าฉันตรวจสอบแท็บเครือข่าย เนื่องจากเป็นสถานะ200
ฉันกลัวว่าเครื่องมือค้นหาอาจจัดทำดัชนีหน้าเว็บเหล่านั้นด้วย
พฤติกรรมที่คาดหวัง:
ฉันต้องการสถานะ404 Not Found
ที่จะส่ง
200
ด้วย