我正在尝试在Wordpress网站的URL中设置自定义变量。我已经尽可能多地阅读了这个主题,到目前为止,我的功能页面中有以下内容:
function add_query_vars($aVars) {
$aVars[] = "mrdrct";
return $aVars;
}
// hook add_query_vars function into query_vars
add_filter('query_vars', 'add_query_vars');
我的首页上有以下内容:
if(isset($wp_query->query_vars['mrdrct'])) {
$mVar = $wp_query->query_vars['mrdrct'];
echo "variable is $mVar <br />";
}
只是为了测试事情是否通过了正确的测试。但是,当我使用一个包含url变量的链接时,比如www.mydomain.com/?mrdrct=myVarable-我没有被引导到Wordpress网站的主页,该主页被设置为一个带有模板的静态页面-而是被引导到一个包含我最新帖子的页面。我不明白为什么会发生这种情况-有什么想法吗?希望我已经解释得足够好了。
谢谢。
当WP看到查询字符串(URL后的?
(时,它将尝试使用重写规则显示匹配的帖子。如果没有匹配的帖子,它将显示404错误-我猜你没有404.php文件,所以WP显示的默认值是index.php(有关详细信息,请参阅Wordpress模板层次结构(。
我不能100%确定您想要实现什么,但我建议您需要考虑在设置$wp_query->query_vars['mrdrct']
时更改查询。如果您还不熟悉query_posts()
的WP Codex,请参阅它。