2014-09-17 4 views
2

스티커 포스트가 있는지 '테스트'할 수있는 방법이 있습니까? 끈적 게시물이 있다면 , 나는 스티커 게시물 레이아웃 :(WP_Query : posts_per_page를 지정하기 전에 스티커 포스트를 테스트하는 방법은 무엇입니까?

내가 가진를 깨 '페이지 당 게시물'에 추가하는 것이 발견 해요로, 4를 사용 'posts_per_page' => '3'를 사용하지 않을 경우 싶습니다 WP_query는 다음과 같이 다음과 같습니다?

$article_args = array(
       'post_type' => 'post', 
       'posts_per_page' => '3', 
       'post_status' => 'publish', 
       'order' => 'DESC' 
      ); 
      $article_query = new WP_Query($article_args); 

가능, 어쩌면 해당 번호를 args 배열하기 전에이 테스트 및 사용하는 것을

예, 내가 ignore_sticky_posts 생각했지만 나는 여전히 그들을 포함하고 싶어입니다.

나보다 PHP를 잘 아는 사람으로부터 조언을 얻었습니까?! :/

감사합니다. 남자 이름.

답변

0

스티커 메모는 $sticky = get_option('sticky_posts');으로 확인할 수있는 옵션으로 저장됩니다. 게시물 ID가있는 배열을 반환합니다. 당신은 단순히 따라

당신이

$sticky = get_option('sticky_posts'); 
if($sticky) { 
    $article_args = array(
     'post_type' => 'post', 
     'posts_per_page' => '3', 
     'post_status' => 'publish', 
     'order' => 'DESC' 
    ); 
}else{ 
    $article_args = array(
     'post_type' => 'post', 
     'posts_per_page' => '4', 
     'post_status' => 'publish', 
     'order' => 'DESC' 
    ); 
} 

$article_query = new WP_Query($article_args); 
+0

그것은 작동합니다! Pieter에게 감사드립니다. 큰 도움이되었습니다. –

+0

내 기쁨. 다행 이구나. –

0

불행히도 아니지만, 아마도 당신이 겪은 것을 성취 할 수있는 또 다른 방법이있을 것입니다.

마지막으로 끈적 인 게시물을 가져 와서 먼저 표시 한 다음 두 번째 쿼리에서 나머지 게시물 (또는 어쨌든 다음 3 개)을 가져올 수 있습니다.

그런 식으로 1 스티커 (존재하는 경우)와 3 페이지 당 정상적으로 나타납니다.

여기서 최종 목표를 알 수 없으므로 사용하지 못할 수도 있습니다.

+0

감사 마이크처럼 뭔가를 할 수있는 인수를 수정 한 후 옵션이 비어인지 아닌지 확인 할 수 있습니다. 목표는 스티커가 포함되는지 여부에 관계없이 최대 4 개의 게시물을 갖는 것입니다. 그 이유는 2-across 2-down 레이아웃에 있기 때문에 레이아웃이 5 가지로 뒤집 혔기 때문입니다. 이것이 내가 바라는 방식으로 수행 될 수없는 것 같아서 다른 접근법이 필요할 수도 있습니다. 아마도 3 개의 게시물을 가져와 클라이언트에게 항상 하나의 끈적 거리는 것을 표시 할 것입니다. 다시 한 번 감사합니다 –

+0

항상 스티커를 붙잡아서 계산하고 필요한 정상적인 개수를 결정하십시오 – Mike

+0

실제로 간단한 해결책이 있습니다 :-). 내 대답을 확인 –