2015-01-26 3 views
0

에서 WP 쿼리 임에도 불구하고 LIMIT/posts_per_page을 무시하고는워드 프레스 사용 wp_query

SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') AND (wp_postmeta.meta_key = 'mywp_post_views_count') GROUP BY wp_posts.ID ORDER BY wp_postmeta.meta_value+0 DESC LIMIT 0, 5 

이 MySQL의에서 제대로 실행 저에게 5 개의 게시물 ID를 제공합니다. 그러나 WordPress는 120 개의 결과를 반환합니다!

echo '$myquery = ' . count($myquery->posts); 

반환한다 : $ MYQUERY = 120

그리고 통해 반복 할 때 내가 확인했습니다

while ($myquery->have_posts()) : $myquery->the_post(); 

그것은 출력 120 개 고유의 게시물보다는 예상되는 5 개 게시물을한다.

나는 확인할 수 있습니다

echo 'Count: '.$instance['count']; 

반환 값 : 개수 : 나는 최신 안정 워드 프레스 (4.1)를 실행하고 5

을, ACF (고급 사용자 정의 필드)에서 떨어져 아무 플러그인으로 - 그냥 내 사용자 정의 테마. 이 플러그인을 사용 중지해도 아무런 영향이 없으며 기본 WordPress 테마 (2015)에도 같은 문제가 있습니다.

저는 왜 이런 일이 일어나고 있는지 이해하려고 애 쓰고 있습니다.

+2

무엇이'$ instance [ 'count']'입니까? – soulseekah

+0

당신의 쿼리가'$ myquery'인데 왜'$ popularpost'를 통해 반복하고있는 변수입니까? – goldenapples

+2

http://wordpress.stackexchange.com/ – codecowboy

답변

2

$instance['count']에 posts_per_page에 원하는 값이 있는지 확인하십시오. 예를 들어 5 개의 게시물을 원하면 $instance['count']= 5이어야합니다.

$instance['count'] = 5; //just for the sake of the test 
+8

사실, 나는 이것이 질문에 답하는 것 같아요, 당신의 표면적 독서가 그것이 명확히 해달라고 요구 한 것처럼 문구가 된 것뿐입니다. –

+0

$ instance [ 'count']가 5인지 확인할 수 있습니다. echo 'Count :'. $ instance [ 'count']; 반환 횟수 : 5 – mattpark22

관련 문제