为什么WordPress仍然删除我的查询变量?

时间:2013-09-22 作者:Malibur

我试图将一个查询变量传递给一个具有永久链接的自定义页面模板。

所以基本上我有一个叫做“相册”的页面。我想向名为“type”的页面传递一个查询变量。因此,不漂亮的版本将是我的网站。com/索引。php?p=97(&p);类型=乙烯基

“漂亮”的版本将是我的网站。com/相册/乙烯基

然后模板需要检索该变量(即乙烯基)

我一整天都在读很多关于这方面的书,但仍然无法使它发挥作用。所以我希望这里有个善良的人能帮助我。

因此,首先我将重写添加到我的函数中。php:

function addrewrite() {
    add_rewrite_rule( \'^albums/([^/]+)/?$\',
    \'index.php?p=97&type=$matches[1]\',
    \'top\' );
}
add_action(\'init\', \'addrewrite\');
这似乎是可行的,因为我可以看到,如果得到所有重写的var\\u转储,就会出现这种情况。

现在,如果我做一个测试并键入我的网站。com/相册/乙烯基进入我的浏览器WordPress会将最后一点“乙烯基”去掉。我在几个地方读到,这是因为我也需要注册查询var。因此,我使用以下代码实现了这一点:

add_filter(\'query_vars\', \'add_my_var\');
function add_my_var($public_query_vars) {
  $public_query_vars[] = \'type\';
  return $public_query_vars;
}
然后,我在settings -> permalinks, 然而wordpress仍然会删除我的url。

我错过了什么?

1 个回复
最合适的回答,由SO网友:Milo 整理而成

对于页面,更改p=97page_id=97pagename=albums. p 是为post 岗位类型。

我还建议将查询变量更改为更独特的变量。

结束

相关推荐

未定义的WP_QUERY::HAS_POST()?

这一定是错的。我在测试一些东西,所以我做了:$queried_post = new WP_Query(array(\'posts_per_page\' => 5, \'offset\'=> 1, \'category\' => 1)); var_dump($queried_post->has_posts()); exit; 我得到一个错误: Fatal error: Call to undefined method WP_Query::has_posts() &#