RSS2提要URL的WordPress永久链接%PostName%

时间:2013-06-11 作者:Mayeenul Islam

我的一个客户正在用我为他们制作的WordPress网站开发智能手机应用程序。该网站是一家日报的在线版。所有的新闻都按不同的类别分类。因此,应用程序开发人员将类别提要与归档提要一起使用(这里的示例中为“使用类别归档”)。因此,在默认Permalink中,提要URL如下所示:

http://domain/?m=YYYYMMDD&feed=rss2&cat=##
这对我们来说很好。

现在出于多种原因,我们想切换到%postname% permalink。在我的研究中,我发现URL的变化如下:

对于默认永久链接类别:http://domain/?cat=3http://domain/?m=YYYYMMDDhttp://domain/?m=YYYYMMDD&cat=##http://domain/category/cat-name/http://domain/YYYY/MM/DD/[???]

问题

因此,根据URL变化的趋势,如果我键入URL“Archive with category”,如下所示:

http://domain/YYYY/MM/DD/category/cat-name/
这会导致404页。

实际问题是:

我不知道如何访问中的“类别存档”%postname% permalink

1 个回复
SO网友:Mark Davidson

首先,据我所知,没有任何默认的方法可以做到这一点。

如果您使用\'Rewrite rule inspector plugin\' 您将看到,没有任何默认规则将类别、日期和提要组合为参数。

日期规则示例如下

([0-9]{4})/([0-9]{1,2})/?$  index.php?year=$matches[1]&monthnum=$matches[2]
类别规则的一个示例是

category/(.+?)/?$   index.php?category_name=$matches[1]
提要规则的一个示例是

feed/(feed|rdf|rss|rss2|atom)/?$    index.php?&feed=$matches[1]
您要做的是合并这三个规则,并创建一些可供wordpress使用的新规则。

您可以通过将以下内容添加到functions.php

function rewrite_rules() {
    add_rewrite_rule(
        \'([0-9]{4})/([0-9]{1,2})/category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$\',
        \'index.php?year=$matches[1]&monthnum=$matches[2]&category_name=$matches[3]&feed=$matches[4]\',
        \'top\'
    ); // /2012/01/category/life-the-universe-and-everything/feed/atom
    add_rewrite_rule(
        \'([0-9]{4})/([0-9]{1,2})/category/(.+?)/feed/?$\',
        \'index.php?year=$matches[1]&monthnum=$matches[2]&category_name=$matches[3]&feed=feed\',
        \'top\'
    ); // /2012/01/category/life-the-universe-and-everything/feed/
    add_rewrite_rule(
        \'([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/category/(.+?)/?$\',
        \'index.php?year=$matches[1]&monthnum=$matches[2]&daynum=$matches[3]&category_name=$matches[4]\',
        \'top\'
    ); // /2012/01/15/category/life-the-universe-and-everything/
    add_rewrite_rule(
        \'([0-9]{4})/([0-9]{1,2})/category/(.+?)/?$\',
        \'index.php?year=$matches[1]&monthnum=$matches[2]&category_name=$matches[3]\',
        \'top\'
    ); // /2012/01/category/life-the-universe-and-everything/
}
add_action( \'init\', \'rewrite_rules\' );
希望能回答您的问题,有任何问题请告诉我。

结束

相关推荐

向RSS添加自定义帖子类型元字段

因此,我通过这段代码将我的视频自定义帖子类型添加到我的rss提要中。//Add videos custom post type function myfeed_request($qv) { if (isset($qv[\'feed\']) && !isset($qv[\'post_type\'])) $qv[\'post_type\'] = array(\'post\', \'videos\'); return $qv; } add_