我有一个很奇怪的问题,和这个问题很相似:Why does Wordpress Pagination Remove the Spaces from my GET Variable?. 除了我的没有N个搜索结果页面,而是自定义分类页面。
问题是:干净的WP安装,没有插件。我在函数文件中添加了这样的自定义分类法:
register_taxonomy(
\'my-categories\',
array(
\'post\',
),
array(
\'hierarchical\' => true,
\'label\' => \'My Categories\',
\'query_var\' => true,
\'rewrite\' => array( \'slug\' => \'my-categories\' ),
)
);
我在这个分类法中创建了一个称为“测试一”的术语。如果我转到分类页面并向查询字符串中添加一个自定义变量,一切看起来都很好(例如:/my categories/test one/?something=1+2)。
这就奇怪了:如果我添加了一些分页变量(手动将URL更改为/my categories/test one/page/2/?something=1+2),结果页面实际上会重写我的URL,从自定义变量中去掉空格(结果URL是/my categories/test one/page/2/?something=one+two)。
使用query\\u vars过滤器将我的自定义var添加到vars列表没有效果。
WordPress内核中的某个地方显然发生了错误的重写(我假设在register\\u taxonomy()函数中?),但我对WP的重写API知之甚少,不知道它是什么。有人有什么想法吗?
如果它确实是一个bug,我会在Trac中提交一个问题,但我需要知道如何短期修补它。