2010-11-23 2 views
0

내 게시물마다 사용자 ID가있는 배열 인 meta_key가 있습니다. 배열 meta_key에 특정 사용자 ID가 포함 된 게시물 만 표시하는 방법이 있습니까?Wordpress : the_loop의 게시물을 건너 뛰거나 배열 meta_keys를 사용하여 쿼리

쿼리에서 이러한 필터를 적용 할 방법을 찾지 못했고 루프 내부의 게시물을 건너 뛰면 함수가 충분한 게시물을 표시하지 않습니다.

+0

이 옵션을 사용하는 것을 잊지 마십시오! 그 중 하나가 답을 표시하는 데 도움이된다면! :) –

답변

1

루프 내에서 게시물을 건너 뛸 수 있지만 모든 게시물을 쿼리로 실행하고 표시 할 게시물 수에 도달하면 루프를 중지/중단하십시오.

get_posts ('numberposts의 = -1')는 제한을 제거 - http://codex.wordpress.org/Template_Tags/get_posts 당신이 그것을 사용하는 거라고 어떻게 달려 있으므로 이런 종류 그러나 페이징을 깰 가능성이 높습니다.

는 또한 $의 meta_key 및 $ meta_value get_posts 매개 변수를 시도 할 수 있지만, 아마 단지 당신이 자신의 사용자 정의 필드의 개별 값으로 각 사용자 ID가 있다면 당신을 위해 작동 할 것입니다.

과 같이 :

키 : 사용자 ID, 값 : 3

키 : 사용자 ID, 값 : 5

키 : 사용자 ID, 값 : 7

키 : 사용자 ID, 값 : 8

Wordpress의 기본 제공 사용자 역할이 더 좋을 수도 있습니다. 아마도 목표가 무엇인지 설명하십시오.

+0

+1 귀하의 목표를 설명하기 위해, 그것은 우리를 위해 훨씬 쉽게 만들거야! – TheDeadMedic

+0

저는 http://japanlike.com/에 digg와 비슷한 WP 기반 웹 사이트를 가지고 있습니다. 사용자가 이야기에 투표 할 때마다 ID가 배열 meta_key에 저장됩니다. 단일 사용자가 좋아하는 모든 기사를 표시하는 페이지를 만들고 싶습니다. –

0

너는 이와 비슷한 것을 시도 했습니까?

$temp_store_query = $wp_query; 
$wp_query = NULL; 
$quer_y = 'meta_key=your_meta_key&meta_value=some_user_ID'; 
$wp_query = new WP_Query($quer_y); 

while($wp_query->have_posts()) : $wp_query->the_post(); 
// ...do whatever is needed here 
endwhile; 

$wp_query = NULL; 
$wp_query = $temp_store_query; 
+0

제 경우에는 your_meta_key가 배열이므로 위 코드에서 작동하지 않습니다. –

0

당신은 그가 당신은이 배열을 폭발 루프에서이 모든 게시물을 보여 SO (매개 변수를 포함하여 수) 좋아하는 게시물을 저장하는 user_meta를 만들 시도 할 수 있습니다.

관련 문제