2012-06-06 6 views
1

모든 Wordpress RSS 피드 (태그, 카테고리 및 검색 피드뿐만 아니라 기본 피드)에서 게시물을 제외 할 수있는 방법이 있습니까?Wordpress RSS 피드에서 특정 게시물을 제외하려면 어떻게해야합니까?

하나는 제외하고 싶은 게시물에 대한 범주를 할당하는 것입니다 그리고 당신은 단지의 URL을 변경할 수 있습니다 : 당신이 THIS ONE 또는 THIS 같은 플러그인을 사용하지 않는 가정

답변

4

, 당신은 여러 가지가 그래서 같은 RSS 링크 :

http://www.mydomain.com/feed?cat=-x,-y,-z 

는 또한 기능을 필터링 할 수 있습니다

function o99_my_rss_filter($query) { 
if ($query->is_feed) { 
$query->set('cat','-7'); //Put category ID - here it is : 7 
} 
return $query; 
} 

add_filter('pre_get_posts','o99_my_rss_filter'); 

요점은 당신이 북동 것입니다 당신이 항상 쿼리에서 제외시킬 ID를 추가하는 것을 원하지 않는다고 가정하고, 제외 할 것을 식별하기 위해 SOMETHING (태그, 사용자 정의 필드, 카테고리)을 할당하십시오.

가장 쉬운 방법은 위에서 설명한대로입니다.

* * 편집 내가 **

그냥를 위해 - 그들이 남용 때 나는 사용자 정의 필드를 싫어하더라도 R (나는 아직도 cetegory 방법을 권장합니다) - 이것은 또 다른 방법입니다 맞춤 입력란을 할당하여 검색어를 변경하십시오.

function o99_my_rss_filter_by _field($where, $wp_query = NULL) { 
    global $wpdb; 

    if (!$wp_query) global $wp_query;if ($wp_query->is_feed) { 

     $posts = get_posts(array('meta_key' => 'norss')); 

     if ($posts) { 
      foreach($posts as $post) { 
       $exclude .= $post->ID . ','; 
      } 
     } 
     $exclude = substr($exclude,0, strlen($exclude)-1); 

     $where .= ' AND $wpdb->posts.ID NOT IN (' . $exclude . ')'; 
    } 
    return $where; 
} 
add_filter('posts_where', 'o99_my_rss_filter_by _field', 1, 4); 
관련 문제