重写url wordpress无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重写url wordpress无法正常工作相关的知识,希望对你有一定的参考价值。

我的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'
    );
}
答案

如果你对结构没有太多了解,我猜你的重写结构会有点类似于以下内容,

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'
);

希望这可以帮助 :)

以上是关于重写url wordpress无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress:在 url 中包含语言变量

在我的WordPress菜单项中添加#无法正常工作

将 URL 重写规则添加到 Wordpress

Wordpress 插件 URL 重写

Ant Media Server 嵌入代码在 wordpress 中无法正常工作

URL重写无法正常更改(/ blog / category /)到(/)