出于某种原因,我需要对我的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()
没有工作?
答案 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
参数是字符串,我认为比函数不给数据相等!