如何使用Wordpress发送正确的状态标题?

时间:2015-12-18 18:32:00

标签: php wordpress

我读到了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' );

1 个答案:

答案 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();

}