2

我试图在我的 URL 中为 Wordpress 网站添加自定义变量。我已经阅读了尽可能多的关于该主题的内容,到目前为止,我的功能页面中有以下内容:

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 网站的主页,该主页设置为带有模板的静态页面 -相反,我被定向到一个包含我最新帖子的页面。我无法弄清楚为什么会这样 - 有什么想法吗?希望我已经解释得足够好。

谢谢。

4

1 回答 1

0

当 WP 看到查询字符串(?在 URL 之后)时,它将尝试使用它的重写规则显示匹配的帖子。如果没有匹配的帖子,它将显示 404 错误 - 我猜你没有 404.php 文件,因此 WP 显示默认值为 index.php(有关详细信息,请参阅Wordpress 模板层次结构)。

我不是 100% 确定您想要实现什么,但我建议您需要查看在$wp_query->query_vars['mrdrct']设置时更改查询。如果您还不熟悉它,请参阅WP Codex以获得一个好的起点。query_posts()

于 2011-11-07T15:34:06.383 回答