我的函数中有以下代码。php文件,返回通过URL传递的值根本不起作用。代码如下:
function custom_url_source() {
add_rewrite_rule(
\'^source/([^/]*)$\',
\'index.php?source=$matches[1]\',
\'top\'
);
add_rewrite_tag(\'%source%\',\'([^/]*)\');
}
add_action(\'init\', \'custom_url_source\');
var_dump($wp_query->query_vars);
所以通过键入\'
http://example.com/source/the-times/ 在URL中,我希望在var转储中看到“source”=>“the times”,但我看到了一个空数组。
我已经刷新了重写规则和标准。htaccess已就位。服务器是标准的LAMP配置。
任何指标都很好。我尝试了这里列出的各种解决方案,但没有成功。我在google上搜索过,但给出的例子不起作用。
SO网友:nothingtosee
尝试将“source”添加为自定义查询变量,而不是将其定义为重写标记。
function wpse162627_add_query_vars( $query_vars ){
$query_vars[] = "source";
return $query_vars;
}
add_filter( \'query_vars\', \'wpse162627_add_query_vars\' );
function custom_url_source() {
add_rewrite_rule(
\'^source/([^/]*)$\',
\'index.php?source=$matches[1]\',
\'top\'
);
}
add_action(\'init\', \'custom_url_source\');