我想在我的网站上添加一个用于SEO目的的自定义提要。
因此,我首先复制/wp includes/feed-rss2。php文件放入我的主题文件夹并重命名它。我想我可以很容易地编辑我的提要。
然后添加以下代码:
function yandex_news_feed() {
load_template(TEMPLATEPATH . \'/yandex-news.php\');
}
function yandexnews_add_feed() {
add_feed(\'do_feed_yandexnews\', \'yandex_news_feed\');
}
add_action(\'init\', \'yandexnews_add_feed\');
我尝试了多种方法并阅读了大量文档(几乎总是一样的,很多人会向代码中添加rewrite\\u规则,但这不是这里的问题)和源代码
add_feed
告诉他们重写规则已经处理好了。
但是,无论如何,这根本不起作用,我在做http://infoglam.exigences.biz/?feed=yandexnews 或http://infoglam.exigences.biz/feed/yandexnews ; 这是一样的:空白页,空白,什么都没有。
请注意,如果自愿使用不正确的名称,如http://infoglam.exigences.biz/?feed=yandexnews5 我出错了ERROR: yandexnews5 is not a valid feed template.
所以看起来好像feed名称已经注册,但模板没有执行。
我有检查模板文件的权限,我尝试了使用和不使用do_feed_
; 我试过了include
而不是load_template()
我想我最终可以在管理上使用一个带有空白页面的模板页面,但我发现这并不优雅——如果高效快速的话。我会在网站上使用几个feed,我真的不想处理空白页面,如果我在其他地方使用主题,我需要再次创建页面,最好让它与主题相关。
我想问题可能是加载模板,但现在我完全迷路了,找不到哪里做错了。
谁能帮我一下吗?
SO网友:Simon
代码正在运行:
add_feed(\'myfeed_rss2\', \'my_feed\');
function my_feed() {
add_filter(\'pre_option_rss_use_excerpt\', \'__return_zero\');
load_template( TEMPLATEPATH . \'/custom-feed.php\' );
}
RSS是上下文的:如果我添加
?feed=myfeed_rss2
在索引url之后,这将告诉WP使用模板自定义提要显示主页的内容。php——它更像是一个过滤器,而不是其他任何东西。我从错误的角度考虑RSS。
如果我添加?feed=myfeed_rss2
在类别页面url之后,它将显示带有模板自定义提要的类别页面。php。
我还没有找到从模板中修改查询的方法,这应该以不同的方式进行,即在主题中创建一个特殊页面,然后在其上调用RSS模板(例如,有一个50篇文章长的RSS提要)。
RSS模板只是内容的严格XML结构,能够使用PHP代码添加信息(如附件的文件长度,以字节为单位)。
ADDITIONALLY
如果人们试图使用/管理自定义提要,那么有一点非常重要:只有在修改/添加后才能创建/修改提要。直截了当地说,你必须发布一篇新文章(或者把一些旧文章作为草稿,做一些测试,然后重新发布,做一些测试…)检查对RSS模板所做的任何更改。