source

Wordpress RSS2 피드에 CORS 지원을 추가하는 방법

bestscript 2023. 2. 8. 19:43

Wordpress RSS2 피드에 CORS 지원을 추가하는 방법

커스텀 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, 의 지시에 따라서, 테마 헤더를 변경해 보았습니다.php 파일에 다음 코드를 추가합니다.

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

    이것은 Wordpress 포스트에 CORS 헤더를 추가하는 데 성공했지만 RSS2 피드에 추가하지는 못했습니다.

  2. 그 후 "플러그인 API/액션 레퍼런스"를 사용하려고 했습니다.add_action(http://codex.wordpress.org/Plugin_API/Action_Reference) 를 참조해 주세요.

    헤더에 다음 코드를 추가했습니다.php:

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

다시 말하지만, 성공하지 못했어.이제 막다른 골목에 다다랐어요.좋은 생각 있어요?

플러그인이나 기능을 추가하여 이렇게 할 수 있습니다.그게 더 깨끗해질 것 같아요.

add_action( 'pre_get_posts', 'add_header_origin' );

function add_header_origin() {
    if (is_feed()){
        header( 'Access-Control-Allow-Origin: *' );
    }
}            

원본 rss-template "wp-includes/feed-rss2.php"를 테마 디렉토리에 복사하고 이 코드를 함수에 추가하여 활성화합니다.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
}

그런 다음 jeffederman에서 설명한 것처럼 rss-template를 변경하여 헤더를 추가할 수 있습니다.

wp-includes/feed-rss2로 이동합니다.php 이하

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

더하다

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

언급URL : https://stackoverflow.com/questions/12517039/how-to-add-cors-support-to-wordpress-rss2-feed