3

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

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

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

这是我尝试过的。

.hataccess

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. 任何帮助将不胜感激。

提前致谢。

4

1 回答 1

3

我意识到 status_header(200);实际上将状态设置为 200。所以我不得不编辑我index.php的检查is_404()并做相应的事情。

于 2013-07-22T23:32:48.117 回答