开发者

the_permalink_rss filter doesn't work

the RSS feed of annuncistar.it isn't valid because the "&" char is not allowed in RSS feeds. In or开发者_开发问答der to solve that issue I've added a WordPress filter in my functions.php file.

function mp_permalink($permalink) {
$url = str_replace("&", "&", $permalink);
return $url;
}

add_filter('the_permalink_rss', 'mp_permalink');

Unfortunately this function doesn't work. What could the reason be?


Your feed URL seems to have Google Analytics tracking variables (utm_source, etc.) appended to it. Normally, a WordPress feed URL looks as simple as (to take mine as an example):

http://gothick.org.uk/feed

However, with Analytics tracking variables, it looks something like this:

http://gothick.org.uk/?utm_source=source&utm_medium=medium&utm_term=term&utm_content=content&utm_campaign=campaign

So, I'm guessing that you have a plugin installed that is altering your feed URL to add these variables. Unfortunately, when it's being embedded in your RSS feed as the feed source, the ampersands in the URL aren't being escaped -- I'd guess this is a bug in the plugin.

I'd guess your filter isn't being run after the plugin changes the original feed. Whether that's because it's being run earlier in the filter chain or because the analytics plugin is targeting the feed URL at a different level, I'm not sure.

Either way, the solution will be to disable the analytics plugin, or at least the bit that alters the feed URL, or update it to a version that escapes the URL properly for use in the RSS feed XML.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜