카테고리별로 rss 갯수 다르게 노출하기

rss와 관련된 플러그인을 아무리 찾아보아도 rss에 대해서 카테고리별로 갯수를 지정할 수 있는 것들이 없었다.

몇가지 찾아서 나온 것들은 rss 피드에서 지정된 카테고리 제외하거나 지정된 카테고리만 나오게 하는 것들 뿐이였다.

대시보드에서 설정-읽기에 있는 갯수는 이제 무시하고 내가 지정한 갯수만큼 그리고 그 갯수들을 페이지로 나누었을 때

내가 원하는 페이지 rss가 노출되게 해보자.

wp-includes/query.php 파일을 열어보면 약 2003번줄 정도에 아래와 같은 코드가 있다.

if ( $this->is_feed ) {
			$q['posts_per_page'] = get_option('posts_per_rss');
			$q['nopaging'] = false;
		}

 위 소스를 아래와 같이 수정했다.

/*
		if ( $this->is_feed ) {
			$q['posts_per_page'] = get_option('posts_per_rss');
			$q['nopaging'] = false;
		}
		인식 수정 feed 조정
		*/
		if ( $this->is_feed ) {
			if ( is_numeric($_REQUEST['posts_per_page']) ) {
				$q['posts_per_page'] = (int) $_REQUEST['posts_per_page'];
			} else {
				$q['posts_per_page'] = get_option('posts_per_rss');
			}
			$q['nopaging'] = false;
		}
		/*여기까지로 추가된 내용임*/

 위에 주석부분은 알아서 첨삭하여도 무방하다.

일단 이렇게 만들면 평소에 rss를 불러오던 URL이

http://내홈페이지주소/feed/rss 였다면, 

http://내홈페이지주소/feed/rss?posts_per_page=10&cat=11&paged=2 이렇게 접속해보길 바란다.

 

뒤에 붙는 파라미터 설명하겠다.

posts_per_page 한 페이지당 보여주는 rss 갯 수
paged=2 보고싶은 페이지
cat=11 카테고리 아이디 

 

만약 rss에 약 40개의 포스트가 있다치면 rss에는 10개씩 보여주는데 이것을 페이지로 나눴을 때

2번째 페이지에 있는 11~20번째 rss가 나오는 것이다. (카테고리 아이디가 11인..)

Subscribe
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

0 댓글
Inline Feedbacks
View all comments
TOP