我读到了Wordpress'自己的status_header()
函数,我读了PHP自己的函数来输出状态标题。我想在特定页面上输出410个标题。但是,如果我尝试检查标题,我只能得到200'好。
我试过例如:
<?php if( is_page( 97324 )) { http_response_code( 410 ); } ?>
作为5.4版本的新版本的解决方案。
我试过Wordpress&#39;拥有status_header
如下:
<?php if( is_page( 97324 )) { status_header( 410 ); } ?>
我把那一行放在顶部的标题模板中,因为我读到了它应该放在哪里。
我根据@jimmy obonyo给出的答案添加了一个有效的解决方案。我使用了动作挂钩pre_get_posts
,现在我的页面发送了正确的状态代码。我的解决方案如下所示,此代码将添加到主题functions.php
function handle_410() {
if( is_page( 97324 )) {
status_header( 410 );
nocache_headers();
}
}
add_action( 'pre_get_posts', 'handle_410' );
答案 0 :(得分:1)
在功能文件中status_header()
之前使用$wp_query->set
:
function handle_404() {
// Guess it's time to 404.
$wp_query->set_404();
status_header( 404 );
nocache_headers();
}