如何在wordpress主题/插件中将状态标头设置为200

时间:2013-07-21 03:37:19

标签: php wordpress-plugin wordpress

我目前正在开发Wordpress拍卖插件。该插件将项目存储在单独的表中。我已成功创建插件并按预期工作(在管理区域中)。

现在我正在尝试构建一个将使用该插件的主题。我需要在网站的前端显示所有拍卖项目。当用户访问网址www.somesite.com/auctions/2时,我想显示ID为2的拍卖详情。

我已成功编写了一个获取id的.htaccess重定向,因此我可以使用该ID在表格中查找拍卖并显示其详细信息。但问题不在于,如果我访问该网址,Wordpress会显示404页面。

这就是我的尝试。

.hatccess

RewriteRule ^(auction)/(.*)$ ?action=$1&id=$2 [L]

现在,如果有人访问/auction/1var_dump(id)会给我1。我有一个Auction课程,我打算通过在我的主题中$auction->get(id)进行相应的拍卖。

到目前为止一切正常,除了我访问网址时得到的404 page。如果有人访问网址,我已尝试关注404 page

// code below this point doesnt work as intended.

public function resolveURL(){
    global $wp_query;

    $action = $_GET['action'];
    $id = $_GET['id'];

    if($action == 'auction' && !empty($id)){

        status_header(200);
        $wp_query->is_page = $wp_query->is_singular = true;
        $wp_query->is_404  = false;
  }
}

在我的主题base.php中,我打电话给:

  global $wppa; // plugin object
  $wppa->resolveURL();

当我调用该函数并且网址为/auction/someid时,我想不要获取404页面。任何帮助将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我意识到了     status_header(200);实际上将状态设置为200.因此,我必须修改index.php以检查is_404()并做相应的操作。