8

カスタム Wordpress テーマ内の RSS2 フィードにCORS ( http://enable-cors.org/ ) サポートを追加しようとしています。私は次のことを試しましたが、すべて役に立ちませんでした:

  1. https://web.archive.org/web/20140314152828/http://bowdenweb.com:80/wp/2011/05/how-to-enable-cors-in-wordpress.htmlの指示に従って、試みましたテーマの header.php ファイルを変更して、次のコードを追加します。

    header("Access-Control-Allow-Origin: *");

    これにより、CORS ヘッダーが Wordpress の投稿に追加されましたが、RSS2 フィードには追加されませんでした。

  2. 次に、「プラグイン API / アクション リファレンス」、つまりadd_action関数 ( http://codex.wordpress.org/Plugin_API/Action_Reference ) を使用しようとしました。

    次のコードを header.php に追加しました。

    function add_cors_headers()
    {
        header("Access-Control-Allow-Origin: *");
    }
    
    add_action('rss2_head','add_cors_headers');
    

繰り返しますが、成功しません。今、私は行き止まりにいます。何か案は?

4

3 に答える 3

2

元の rss テンプレート「wp-includes/feed-rss2.php」をテーマ ディレクトリにコピーし、このコードを functions.php に追加して有効にします。

remove_all_actions( 'do_feed_rss2' );
add_action( 'do_feed_rss2', 'my_feed_rss2', 10, 1 );

function my_feed_rss2( $for_comments ) {
    $rss_template = get_stylesheet_directory() . '/feed-rss2.php';

    if( file_exists( $rss_template ) )
        load_template( $rss_template );
    else
        do_feed_rss2( $for_comments ); // Call default function
}

次に、rss-template を変更し、jefffederman が述べたようにヘッダーを追加できます。

于 2013-02-13T12:18:33.943 に答える
0

wp-includes/feed-rss2.php以下に移動します

header('Content-Type: ' . feed_content_type('rss-http') . '; charset=' . get_option('blog_charset'), true);

追加

header("Access-Control-Allow-Origin: *");
于 2013-01-25T17:00:33.807 に答える