我想重写url并在wordpress(nginx服务器)上的URL(GET)中传递参数。
在functions.php中我添加:
add_action('init', 'add_my_rewrite');
function add_my_rewrite()
{
global $wp_rewrite;
add_rewrite_tag('%jeans%','([^&]+)');
$wp_rewrite->add_rule('catalogue/([^/]+)/','index.php?pagename=catalogue&jeans=$matches[1]','top');
$wp_rewrite->flush_rules();
}
然后在我的php文件id中:
global $wp_query;
$jeans = $wp_query->query_vars['jeans'];
echo $jeans;
但它不起作用
答案 0 :(得分:1)
WordPress不会自动将查询字符串变量导入$ wp_query。您必须使用代码修改WP查询,这取决于您希望它执行的操作。
我们很清楚,$ wp_query是数据库查询。 URL中的“查询”字符串变量可以通过$ _GET。
访问 echo $_GET['jeans'];
(但你应该先检查它是否isset()
。)
echo isset( $_GET['jeans'] ) ? $_GET['jeans'] : 'Not set';