【问题标题】:WordPress Custom Rewrite Rule towards Custom PageWordPress 自定义页面的自定义重写规则
【发布时间】:2016-05-06 05:42:03
【问题描述】:

您好,我有一个基于 wordpress 的网站,其中包含电影和电视节目。元数据包括发布年份,例如Inception 将 2010 年作为 year_of_release,元数据值的键。我需要做一些事情来制作一个自定义链接,这样它就会像

website.com/year/2010

它会显示一个自定义页面,如year.php 或其他任何内容,并将2010 作为 GET 参数,以便我可以显示 2010 年或 2011 年发布的每部电影或任何参数。

基本上它就像website.com/category/sub-category,但我不希望它成为一个类别,因为年份被保存为元数据,并且为每年创建一个子类别会很浪费。

谁能告诉我一种方法来制定自定义重写规则或制定重定向规则以强制这样的链接显示我的自定义页面?提前感谢大家,我希望我说清楚了。

【问题讨论】:

    标签: php wordpress .htaccess redirect url-rewriting


    【解决方案1】:

    在functions.php中添加重写规则

    function year_rewrite() {
      add_rewrite_rule('^year/([0-9]+)/?', 'page-year.php?year=$matches[1]',    'top');
    }
    add_action('init', 'year_rewrite');
    

    在您的 page-year.php 中创建循环以从 url 参数 year 逐个元年查询帖子。

    然后转到“设置”->“永久链接”并保存,这样 WordPress 将刷新新规则并且它会起作用。

    【讨论】:

    • 1.语法文档在这里codex.wordpress.org/Rewrite_API/add_rewrite_rule 2。您的站点应该有一个包含functions.php 的子主题。如果您还没有,请为您的主题创建一个 https://codex.wordpress.org/Child_Themes
    • 非常感谢,它有效。给将要阅读此内容的人的提示:添加此类型的任何代码(重写规则)后,转到 Settings->Permalinks 并保存,这样 wordpress 将刷新新规则并且它将起作用。否则将不会应用新规则。
    • 太棒了。在答案中添加了保存永久链接部分。
    猜你喜欢
    • 2023-01-27
    • 1970-01-01
    • 2017-02-10
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    相关资源
    最近更新 更多