URL重写解析自定义URL参数不起作用

时间:2016-11-14 作者:AdamJones

出于SEO目的,我想添加一些特定的URL,作为我拥有的自定义帖子类型归档页面的归档页面的别名。

现在,自定义post类型归档页面可以选择接受GET参数,如果对这些参数进行解析,我将使用这些参数执行各种操作。

下面是我的函数示例。在php文件中,add\\u rewrite\\u rule()确实起作用,因为转到/测试/url/在我的网站上确实会将我带到自定义后期归档页面的归档页面。所以基本的捕获肯定是有效的,因为我没有404页。

但是,get参数(param1)似乎没有进行重写。就好像它没有定义一样。

function rewrite_test() {

   add_rewrite_rule(\'^test/url/?\', \'index.php?post_type=custom&param1=value\']), \'top\');
    }
}
add_action(\'init\', \'rewrite_test\');
那么,这有什么错呢,我如何才能通过重写规则获得我想要解析的自定义url参数呢?

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

您需要附加新变量(param1) 到公共查询变量:

add_filter("query_vars", function( $vars ){
    $vars[] = \'param1\';
    return $vars;
});
现在您可以使用get_query_var( \'param1\' ).

相关推荐