首页 文章

在特定的WordPress页面上发送404状态代码?

提问于
浏览
1

我需要在WordPress中的特定页面上发送404状态代码 . 该页面未使用404.php模板 . 最好,我想在我的主题文件中,而不是使用.htaccess .

这就是我所拥有的不起作用 .

function my_404() {
  if ( is_page( 813 ) ) {
    header('HTTP/1.1 404 Not Found');
    echo 'Testing123'; //This outputs fine, so I know the code is running on the correct page
  }
}
add_action( 'wp', 'my_404' );

如果成功,页面将看起来完全相同,除了通过网站分析器运行它会告诉我它返回404代码 . 但是,使用此代码,无论如何它仍然会返回200 .

1 回答

  • 3

    试试这个,这应该可以得到预期的结果:

    function my_404() {
      if ( is_page( 813 ) ) {
        global $wp_query;
        $wp_query->set_404();
        status_header(404);
        nocache_headers();
      }
    }
    
    add_action( 'wp', 'my_404' );
    

相关问题