サポート » 使い方全般 » &を含む文字列のエラーを回避したい

  • 解決済 krullsue

    (@krullsue)


    お世話になります。
    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に詳しくないので、どうしてこうなるのかわかりません。
    バックスラッシュ(\)でエスケープも出来ないようです。

    どうぞ宜しくお願い致します。

1件の返信を表示中 - 1 - 1件目 (全1件中)
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「&を含む文字列のエラーを回避したい」には新たに返信することはできません。