2012-09-20 17 views
5

私はカスタムWordpressのテーマのRSS2フィードにCORS(http://enable-cors.org/)のサポートを追加しようとしています。私はすべて無駄に、次のことを試してみました:Wordpress RSS2フィードにCORSサポートを追加するには?

  1. http://bowdenweb.com/wp/2011/05/how-to-enable-cors-in-wordpress.htmlの指示に従って、私がテーマのheader.phpのファイルを変更し、次のコードを追加しようとしました:

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

    これは、Wordpressの投稿にCORSヘッダーを追加するのに成功しましたが、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'); 
    

、何の成功を。今私は死んで終わりです。何か案は?

+0

2で述べたコードを 'functions.php'ファイルに追加しようとしましたか?あなたは 'header.php'ファイルに追加したと言いました。これは、Wordpressのドキュメントに' functions.php'にインクルードされるべきだと書かれています。 – Axel

答えて

0

ゴーWP-含ま/フィードrss2.phpへと

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

このソリューションでは、Wordpressのコアファイルを変更する必要があります。これはWordpressをアップグレードすると上書きされます(頻繁に発生します)。私は、テーマのfunction.phpファイル内のアクションフックを使用して、追加のヘッダーを含めるソリューションを提案します。 – Axel

+0

また、ob_start()を追加します。ページの上部に表示されます。サーバがすでにクライアントにデータを送信し始めている可能性があります。そのヘッダは設定できません。 – kiranvj

1

コピー元RSSテンプレート "WP-含ま/フィードrss2.php" を追加

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

以下あなたのテーマディレクトリとあなたの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-テンプレートを変更して追加することができますjefffedermanが言ったようなヘッダ。

3

プラグインを使用するか、関数に追加することで、このようにすることができます。私はそれがきれいになると思う。

add_action('pre_get_posts', 'add_header_origin'); 

function add_header_origin() { 
    if (is_feed()){ 
     header('Access-Control-Allow-Origin: *'); 
    } 
}    
関連する問題