WordPress:需要更改RSS Feed中的帖子永久链接URL

时间:2016-03-03 16:26:48

标签: php wordpress rss

出于某种原因,我需要对我的WP博客的RSS源提供的URL略有变化。目前,永久链接看起来像这样:

http://www.thesite.com/blogs/post_title

这是我的RSS Feed(我构建的自定义Feed)中的URL。但是,我需要使用网址来使用博客而不是博客

http://www.thesite.com/blog/post_title

为此,我尝试在我的自定义Feed PHP(rss-burrofeed.php)代码中使用WP str_replace() the_permalink_rss()函数,这里是在上下文中说明此hack的片段:

   <item>
        <title><?php the_title_rss(); ?></title>
        <link><?php str_replace('/blogs/','/blog/',the_permalink()); ?></link>
        <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate>
         <dc:creator><?php the_author(); ?></dc:creator>
         <guid isPermaLink="false"><?php the_guid(); ?></guid>
         <description><![CDATA[<?php the_excerpt_rss() ?>]]></description>
         <content:encoded><![CDATA[<?php the_excerpt_rss() ?>]]></content:encoded>
         <?php rss_enclosure(); ?>
         <?php do_action('rss2_item'); ?>
</item>

但这不起作用。这些链接仍然显示在博客而非博客中。难道我做错了什么?为什么str_replace()没有工作?

1 个答案:

答案 0 :(得分:0)

比函数the_permalink()生成其他信息更有效,因为我试着找到了我

    $phrase  = "http://www.thesite.com/blogs/post_title";
    $newphrase = str_replace('/blogs/','/blog/',$phrase);

    print_R($phrase);
    print_R('<br>');
    print_R($newphrase);

并打印:

http://www.thesite.com/blogs/post_title
http://www.thesite.com/blog/post_title

参数是字符串,我认为比函数不给数据相等!