2014-03-13 2 views
0

"관련 게시물"종류의 플러그인을 개발 중이며 특정 범주의 임의의 관련 게시물을 표시하려고합니다. 즉 쉬운 부분이고 나는 이런 식으로 일을 해요 :카테고리 및 임의 게시물 WP_Query

이제
$args=array(
    'category__in' => $categories, 
    'showposts' => $post_count, 
    'orderby' => 'rand', 
); 

$related_query = new WP_Query($args); 

내 문제는 게시물 개수가 항상 충족되지 않을 것을 내가 쿼리가 항상 지정된 게시물의 수를 반환합니다.

예를 들어, my $ post_count는 4이지만 쿼리하는 카테고리는 2 개의 게시물 만 반환합니다. 나머지는 무작위로 채우기를 원합니다.

답변

1

가장 쉬운 해결책은 반환 된 게시물 수가 4인지 확인하는 것입니다. 그렇지 않은 경우 $categories에있는을 제외한 모든 카테고리의 게시물에 대해 다른 검색어를 생성하십시오. 카운트는 (4 - the number of results from the first query)이어야합니다. 이렇게하면 항상 4 개의 글이 생기고 지정된 카테고리 (y/ies)의 글이 먼저 표시됩니다.

+0

감사합니다. 나는이 대답을 받아들입니다. 그리고 이것은 제가 결국 사용했던 것입니다. 그러나 이제는 당신이 하나의 쿼리에서 그것을 할 수 있다면 정말 궁금합니다. – ozzysong

+0

@ozzysong SQL 쿼리가 부울이기 때문에 그렇지 않다고 가정합니다. 결과 집합에 무언가를 포함하거나 제외시킵니다. 물론 WordPress가 WP_Query 객체에서 이와 비슷한 것을 구현하지 않았다면, 아마도 내 대답과 비슷한 방식으로 처리 할 것입니다. – user1034455

+0

@ozzysong 또한이 상황은 드물게 발생합니다 (예를 들어 아주 새로운 블로그에서). 그래서 추가 쿼리를 실행해야하는 경우 큰 문제는 아닙니다. 몇 개의 게시물 만 포함하는 많은 카테고리가 있다면 일반적으로 태그를 사용하는 것이 좋습니다. 아니 그게 당신의 문제를 해결할 것이다;) – user1034455

관련 문제