워드프레스의 최근 글 위젯을 사용하면 모든 카테고리의 글이 최근 순서대로 나열됩니다. 경우에 따라 특정 카테고리의 글이 최근 글 목록에 표시되지 않도록 하고 싶은 경우가 있을 수 있습니다.
이를 위해 인터넷을 통해 여러 가지 방법을 시도해봤는데 잘 되지 않았습니다. (아마 워드프레스가 업그레이드되면서 기존에는 잘 되던 방법이 잘 안되는 경우가 많은 것 같습니다.) 다음 코드는 최근 글 목록에 특정 카테고리의 글만 표시하도록 하는 함수입니다.
add_filter('widget_posts_args','modify_widget'); function modify_widget() { $r = array( 'cat' => '3' ); return $r; }
이 함수를 응용하여 특정 카테고리만 제외하는 함수를 작성해보았습니다.
add_filter('widget_posts_args','modify_widget'); function modify_widget() { $r = array( 'category__not_in' => '3'); return $r; }
"$r = array( 'category__not_in' => '3');"에서 숫자 '3'은 제외시키고자 하는 카테고리의 아이디(ID)로 대체하시면 됩니다. (카테고리 아이디를 확인하려면 WPsite Show IDs와 같은 플러그인을 사용하면 편리합니다.)
여러 개의 카테고리를 지정하려면 "$r = array( 'category__not_in' => '3');" 대신에 다음과 같이 array를 사용합니다:
$r = array( 'category__not_in' => array(3, 4));
위의 함수를 사용하고 있는 워드프레스 테마의 함수 파일(functions.php)에 붙여넣으시기 바랍니다.
잘 써먹고 갑니다 ^^
방문해주셔서 감사합니다^^