サポート » 使い方全般 » RSSフィードのURLについて

  • 解決済 white-white

    (@white-white)


    こんばんは。
    RSSフィードについて質問させていただきます。
    現在自分のブログでは、以下のようなアドレスでカテゴリ毎にRSSフィードを配信しています。
    (アドレス)/wordpress/?feed=rss2&cat=1

    しかし、一部のRSSリーダでは、アドレスを登録する際に
    (アドレス)/wordpress/?feed=rss2&cat=1

    のように、&の後にamp;が自動的に付加され、本来のものとは若干異なるアドレスを読み込んでしまうようです。
    しかも下のアドレスでは、「cat=1」に含まれる記事だけではなく、全体の記事が配信されており、思った通りの記事が配信できません。
    そこで、下のアドレスでもカテゴリに含まれる記事だけを配信させるようにしたいのですが、どのようにすれば良いか、どなたか教えて頂けないでしょうか。

    一応、こちらの環境を書いておきます。
    wordpress 2.8.4-ja
    テーマ wp.Vicuna Ext. Custom 1.5.9
    PHP 5.2.10
    MySQL 5.1

    確認したブラウザ
    Opera 10.00
    Lunascape 5.1.5
    Firefox 3.5.3

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター jim912

    (@jim912)

    white-whiteさん、こんにちは。

    /?feed=rss2&cat=1

    のURLですと、$_GETのキーがamp;catになってしまうため、カテゴリーのパラメータとして認識されません。そこで、$_GETのキーがamp;ではじまっていたら、はじめの4文字を削除してしまう処理を加えてみます。

    下記のコードを利用しているテーマのfunctions.phpに追加してみてください。

    function delete_amp_from_get() {
    	global $wp_rewrite;
    	if ( $wp_rewrite->using_permalinks() ) { return; }
    
    	foreach ( $_GET as $key => $val ) {
    		if ( strpos( $key, 'amp;' ) === 0 ) {
    			$_GET[substr( $key, 4 )] = $val;
    			unset( $_GET[$key] );
    		}
    	}
    }
    add_action( 'init', 'delete_amp_from_get' );

    トピック投稿者 white-white

    (@white-white)

    jim912さん、返信ありがとうございます。

    言われたとおりにコードを追加することで、目的の記事を配信することができるようになりました。
    自分の知識では変更できない部分でしたので、非常に助かりました。ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「RSSフィードのURLについて」には新たに返信することはできません。