如何在WordPress中为页面URL添加额外路径替代查询参数
实现WordPress页面URL带自定义路径参数(如
pagename/foo) 要将http://example.com/pagename?query=foo转换为http://example.com/pagename/foo的友好URL格式,按以下步骤操作:
注册自定义查询变量
让WordPress识别我们要传递的自定义参数,将以下代码添加到主题的functions.php文件:function custom_add_query_vars( $vars ){ $vars[] = 'custom_query'; // 变量名可按需修改,对应原参数query return $vars; } add_filter( 'query_vars', 'custom_add_query_vars' );添加重写规则
告诉WordPress解析新URL结构的逻辑,将路径中的参数映射到查询变量,同样添加到functions.php:function custom_add_rewrite_rule(){ // 匹配pagename/xxx格式的URL,把xxx赋值给custom_query add_rewrite_rule( '^pagename/([^/]+)/?$', 'index.php?pagename=pagename&custom_query=$matches[1]', 'top' ); } add_action( 'init', 'custom_add_rewrite_rule' );注意:将代码中的
pagename替换为你实际的页面slug,custom_query需和上一步的变量名保持一致。刷新重写规则
登录WordPress后台,进入「设置」→「固定链接」,无需修改任何设置,直接点击「保存更改」即可刷新重写规则,使新URL结构生效。在页面模板中获取参数
原来用get_query_var('query')获取参数,现在替换为:$custom_value = get_query_var('custom_query'); // 此时$custom_value的值就是URL中pagename后的内容,比如foo
内容的提问来源于stack exchange,提问作者Alberto
相关产品推荐
相关产品推荐

