我的wordpress网址如下所示,我想重写它
http://twowebse.website/course-instance/course-2-19-21-jan-2018/?crse=result 至 http://twowebse.website/course-instance/course-2-19-21-jan-2018/crse/result
我尝试过以下重写,但它似乎没有起作用。可能因为动态网址介于eg.course-2-19-21-jan-2018
当然实例=分类
课程 - 2-19-21-jan-2018 = taxonomyterm
crse我是一个静态查询变量
add_filter( 'query_vars', 'wpse12965_query_varss' );
function wpse12965_query_varss( $query_vars )
{
$query_vars[] = 'crse';
return $query_vars;
}
add_action( 'init', 'wpse12065_inits' );
function wpse12065_inits()
{
add_rewrite_rule(
'course-instance/(/([^/]+))?(/([^/]+))?/?',
'index.php?pagename=course-instance&$matches[2]&crse=$matches[4]',
'top'
);
}
答案 0 :(得分:0)
如果您对结构没有太多了解,我可以猜测您的重写结构将与以下内容类似,
add_rewrite_rule('^course-instance/([a-zA-Z]*)/([0-9a-zA-Z]*)/([a-zA-Z]*)/([a-zA-Z]*)',
'index.php?pagename=course-instance&page=$matches[2]&**some-key**=crse&crse=$matches[4]',
'top'
);
使用结构中此关键字的类型删除 some-key 。
否则,请从您的网址中完全删除第3个参数。通过这样做你的URL将是,
http://twowebse.website/course-instance/course-2-19-21-jan-2018/result
add_rewrite_rule('^course-instance/([a-zA-Z]*)/([0-9a-zA-Z]*)/([a-zA-Z]*)',
'index.php?pagename=course-instance&page=$matches[2]&crse=$matches[3]',
'top'
);
希望这会有所帮助:)