我目前正在开发Wordpress拍卖插件。该插件将项目存储在单独的表中。我已成功创建插件并按预期工作(在管理区域中)。
现在我正在尝试构建一个将使用该插件的主题。我需要在网站的前端显示所有拍卖项目。当用户访问网址www.somesite.com/auctions/2
时,我想显示ID为2的拍卖详情。
我已成功编写了一个获取id的.htaccess重定向,因此我可以使用该ID在表格中查找拍卖并显示其详细信息。但问题不在于,如果我访问该网址,Wordpress会显示404页面。
这就是我的尝试。
.hatccess
RewriteRule ^(auction)/(.*)$ ?action=$1&id=$2 [L]
现在,如果有人访问/auction/1
,var_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页面。任何帮助将不胜感激。
提前致谢。
答案 0 :(得分:1)
我意识到了
status_header(200);
实际上将状态设置为200.因此,我必须修改index.php
以检查is_404()
并做相应的操作。