【问题标题】:how to set status header to 200 in wordpress theme / plugin如何在 wordpress 主题/插件中将状态标题设置为 200
【发布时间】:2013-07-21 03:37:18
【问题描述】:

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

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

我已经成功编写了一个 .htaccess 重定向,它将获取 id,因此我可以使用 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();

当我调用函数并且 url 是 /auction/someid 时,我不想得到 404 页面。任何帮助将不胜感激。

提前致谢。

【问题讨论】:

  • var_dump($id) 应该为/auction/1 返回1,不是吗?你说它返回2。如果您收到 URL 的 404 错误,您如何查看 var_dump 的结果?
  • 对不起。我的意思是 1。我会编辑它。我有一个 404 页面,网站被重定向到它。
  • 你在哪里看到var_dump的输出?
  • 我已经在函数resolveURL()的if语句后面添加了。正上方status_header(200)

标签: php wordpress


【解决方案1】:

我意识到 status_header(200); 实际上将状态设置为 200。所以我必须编辑我的 index.php 以检查 is_404() 并进行相应操作。

【讨论】:

  • 嗨 - 这是否意味着实际的 404 现在也返回 200 ?假设您只希望自定义模板不是 404。
猜你喜欢
  • 1970-01-01
  • 2023-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-27
  • 1970-01-01
  • 2017-06-23
  • 2016-02-27
相关资源
最近更新 更多