【问题标题】:rewrite url wordpress not working重写 url wordpress 不工作
【发布时间】:2017-12-29 16:35:04
【问题描述】:

我的 wordpress 网址如下所示,我想重写它

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

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

课程实例=分类法
course-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'
    );
}

【问题讨论】:

  • 您能否提供更多关于什么是“课程实例”页面或帖子、什么是“course-2-19-21-jan-2018”以及什么是“crse”的信息

标签: wordpress url-rewriting


【解决方案1】:

如果对您的结构没有太多了解,我可以猜测您的重写结构将类似于以下内容,

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 中完全删除第三个参数。通过这样做,您的网址将是,

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

希望这会有所帮助:)

【讨论】:

  • course-instance=taxonomy course-2-19-21-jan-2018=taxonomyterm
猜你喜欢
  • 1970-01-01
  • 2014-08-25
  • 1970-01-01
  • 2012-10-09
  • 2012-10-25
  • 2012-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多