2011-09-16 17 views
1

RSSフィードに "&"という文字が使用できないため、annuncistar.itのRSSフィードは無効です。 その問題を解決するため、私はfunctions.phpファイルにWordPressフィルターを追加しました。the_permalink_rssフィルタが動作しない

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

add_filter('the_permalink_rss', 'mp_permalink'); 

残念ながら、この機能は動作しません。理由は何でしょうか?

+1

フィードは、通常のフィードURLに追加されているGoogleアナリティクスの変数からアンパサンドを取得しているようです。あなたは何をしているのか分かりますか?フィード/ Googleアナリティクスのプラグインが動作していますか? –

+0

提案していただきありがとうございます。残念ながら、私の前の誰かがプラグインをたくさんインストールしていますが、そのうちのどれがこの問題の原因であるか正確にはわかりません。 とにかく私は調査し、どのプラグインがこの問題の原因であるかを報告します。 – pAkY88

+1

Googleアナリティクのプラグインを無効にしましたが、すべて正常に動作します。 ありがとう – pAkY88

答えて

2

フィードURLにGoogleアナリティクストラッキング変数(utm_sourceなど)が追加されているようです。通常は、WordPressのフィードURLは、(一例として、地雷を取ること)のように簡単になります。

http://gothick.org.uk/feed 

しかし、解析トラッキング変数で、それはこのようなものになりますので、

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

を、私は」これらの変数を追加するためにフィードURLを変更しているプラ​​グインがインストールされていると思われます。残念ながら、RSSフィードにフィードソースとして埋め込まれている場合、URLのアンパサンドはエスケープされません。これはプラグインのバグだと思います。

の後にのプラグインが元のフィードを変更したと思います。それは、フィルタチェーンの早い段階で実行されているためか、アナリティクスプラグインがフィードURLを別のレベルでターゲティングしているためかどうかはわかりません。

いずれの方法でも、解析プラグインを無効にするか、少なくともフィードURLを変更するビットを無効にするか、RSSフィードXMLで使用するためにURLを適切にエスケープするバージョンに更新します。

関連する問題