我已将此代码添加到我的主题functions.php
文件
function custom_rewrite_rule() {
add_rewrite_rule('^shop/([^/]*)/?','index.php?page_id=1247&page=$matches[1]','top');
}
add_action('init', 'custom_rewrite_rule', 'top');
所以当我浏览domain.com/shop/page1
时,它应该重写为index.php?page_id=1247&page=page1
,但当我在page_id=1247
上执行以下操作时,我会得到这些结果
echo $_GET["page"]; // = nothing
print_r($_GET) // = `Array( )`
答案 0 :(得分:1)
您应该使用--std=gnu++11
这是一个例子
$wp_query->query_vars
<强>更新强>
您需要使用global $wp_query;
echo $wp_query->query_vars['id'];
add_rewrite_tag
同时wordpress在查询中使用add_rewrite_tag('%id%', '([^&]+)');
,因此请使用其他名称
答案 1 :(得分:0)
您是否刷新并重新生成数据库中的重写规则?正如the docs所述:
重要事项:修改规则后,不要忘记刷新并重新生成重写规则数据库。从WordPress管理屏幕,选择设置 - &gt;永久链接,只需点击保存更改,无需任何更改。
每当您添加新的重写规则时,您需要单击Permalinks管理页面中的“保存更改”(即使您没有更改此页面中的任何内容),以确保Wordpress更新数据库中的规则。