我需要更改此网址:" http://example.com/class-schedules?selectedCatId=52"成为:" http://example.com/class-schedules/classCSCP" ,但导航到不正确的页面。任何帮助!!
我使用此方法来重写网址
function events_custom_rewrite() {
add_rewrite_rule("class-schedules/classCPA/?", 'index.php?page_id=4321&selectedCatId=52', 'top');
}
答案 0 :(得分:0)
您也需要add_rewrite_tag
。
请包含此代码并清除设置中的永久链接缓存。
function custom_rewrite_tag() {
add_rewrite_tag('%selectedCatId%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);
function custom_rewrite_rule() {
add_rewrite_rule('^class-schedules/classCPA/([^/]*)/([^/]*)/?','index.php?page_id=4321&selectedCatId=$matches[1]','top');
}
add_action('init', 'custom_rewrite_rule', 10, 0);
使用此代码,您应该(我没有测试它!)访问您的网站,如下所示:
http://example.com/class-schedules/classCPA/52
在您的主题中,您可以像这样访问变量:
global $wp_query;
$selectedCatId = $wp_query->query_vars['selectedCatId']; //52
重要提示:不要忘记刷新并重新生成重写规则 修改规则后的数据库。从WordPress管理屏幕, 选择设置 - >永久链接,只需单击“保存更改”即可 变化。
https://codex.wordpress.org/Rewrite_API/add_rewrite_tag https://codex.wordpress.org/Rewrite_API/add_rewrite_rule