重写url wordpress无法正常工作

问题描述 投票:0回答:1

我的wordpress url就像下面我要重写它

http://twowebse.website/course-instance/course-2-19-21-jan-2018/?crse=resulthttp://twowebse.website/course-instance/course-2-19-21-jan-2018/crse/result

我尝试过以下重写,但它似乎没有起作用。可能因为动态网址介于eg.course-2-19-21-jan-2018之间

当然实例=分类学 当然-21年2月19日-JAN-2018 = taxonomyterm

我正在使用静态查询变量

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'
    );
}
wordpress url-rewriting
1个回答
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。

否则,从您的URL中完全删除第三个参数。通过这样做你的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'
);

希望这可以帮助 :)

© www.soinside.com 2019 - 2024. All rights reserved.