Wordpress在Nginx上添加规则不起作用

时间:2015-02-08 11:13:59

标签: php wordpress nginx url-rewriting

我想重写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;

但它不起作用

1 个答案:

答案 0 :(得分:1)

WordPress不会自动将查询字符串变量导入$ wp_query。您必须使用代码修改WP查询,这取决于您希望它执行的操作。

我们很清楚,$ wp_query是数据库查询。 URL中的“查询”字符串变量可以通过$ _GET。

访问
    echo $_GET['jeans'];

(但你应该先检查它是否isset()。)

    echo isset( $_GET['jeans'] ) ? $_GET['jeans'] : 'Not set';