&を含む文字列のエラーを回避したい
-
お世話になります。
GoogleAnalyticsのキャンペーンURLに含まれる「&」でエラーが出てしまい、解決できずにいます。いくつかのアンテナサイトに登録しており、そのアンテナサイト毎にアクセス解析を行うため、フィード配信を追加・変更していました。
function.phpに以下の記述をし、テーマにfeedsフォルダを作って、その中にfeed-rss2.phpをコピーしたものを幾つか配置しています。// アクションフック追加(RSS)
add_action( ‘do_feed_google’, ‘do_feed_google’ );
function do_feed_google() {
$template_file = ‘/feeds/google.php’;
$template_file = ( file_exists( get_template_directory() . $template_file )
? get_template_directory()
: ABSPATH . WPINC
) . $template_file;
load_template( $template_file );
}
add_action( ‘the_permalink_rss_google’, ‘the_permalink_rss_google’ );
function the_permalink_rss_google() {
$add_url_google = ‘?utm_campaign=google&utm_medium=google&utm_source=google’;
echo esc_url( apply_filters( ‘the_permalink_rss’, get_permalink() ) ) . $add_url_google;
}更にgoogle.phpの85行目を変更しました。(中身はwp-includesのfeed-rss2.phpと同じです)
<link><?php the_permalink_rss() ?></link>
↓
<link><?php the_permalink_rss_google() ?></link>この状態でアクセスすると、下記のエラーが出てしまいます。
This page contains the following errors:
error on line 22 at column 71: xmlParseEntityRef: no name
Below is a rendering of the page up to the first error.&を抜いて記述すると、問題なくRSSフィードが表示されます。
$add_url_google = ‘?utm_campaign=google’;PHPに詳しくないので、どうしてこうなるのかわかりません。
バックスラッシュ(\)でエスケープも出来ないようです。どうぞ宜しくお願い致します。
- トピック「&を含む文字列のエラーを回避したい」には新たに返信することはできません。