如何设置401、403等状态码?

时间:2017-07-03 作者:henrywright

使用set_404() 方法WP_Query 以及status_header() 作用下面是一个来自WP::handle_404():

$wp_query->set_404();
status_header( 404 );
nocache_headers();
如果我希望我的标记存档仅可供经过身份验证的用户访问,那么为未经身份验证的用户设置404页面就没有意义,因为该资源确实存在,只是不可供注销的用户使用。

My question

如何在WordPress中设置401?

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

与在任何其他PHP程序中使用的方法相同:

header("HTTP/1.1 401 Unauthorized");
exit;
WordPress对404有特殊处理,因为有一个404模板。通常,如果发生401之类的事情,没有特殊的模板,但您可以使用wp_die 它将在一个简单的UI中显示消息

header("HTTP/1.1 401 Unauthorized");
wp_die( \'forbidden\' );
这将在一个带有圆形边缘和灰色背景上的无衬线文本的白色矩形中显示消息,然后调用exit/die

结束

相关推荐

插件会覆盖其他插件的存档-.php文件

我在一家轮胎公司工作,正在编写两个插件。第一个插件是显示合金车轮。第二个插件是显示轮胎。这两个插件都是定制的post类型“wheels”和“tires”,并且都有一个模板逻辑(templates/archive-wheels.php和templates/archive-tires.php)My problem:当两个插件都处于活动状态时wheels 插件覆盖tires 我不知道它究竟为什么要这样做。我确实尝试过通过使用其他函数名、其他前缀等来避免名称空间冲突。以下是注册两个插件的CPT和模板逻辑的相关代码