2010-11-23 3 views
0

Jeder meiner Beiträge hat einen Meta-Schlüssel, der ein Array mit Benutzer-IDs ist. Gibt es eine Möglichkeit, nur Posts anzuzeigen, deren Array meta_key eine bestimmte Benutzer-ID enthält?Wordpress: Posts in der _loop oder Abfrage mit Array Meta-Schlüssel überspringen

Ich habe keine Möglichkeit finden, einen solchen Filter in der Abfrage anzuwenden, und wenn ich Beiträge innerhalb der Schleife überspringen, zeigt die Funktion nicht genügend Beiträge.

+0

Vergessen Sie nicht, diese Optionen auszuprobieren! Wenn einer von ihnen hilft Ihnen als Ihre Antwort zu markieren! :) –

Antwort

1

Sie könnten Beiträge innerhalb der Schleife überspringen, wie Sie tun, aber führen Sie Ihre Abfrage ein ALLE Beiträge, und stoppen/brechen Sie die Schleife, sobald Sie die Anzahl der Beiträge erreicht haben, die Sie anzeigen möchten.

get_posts (‚numberposts = -1‘) entfernt die Grenze - http://codex.wordpress.org/Template_Tags/get_posts Diese Art der Sache ist wahrscheinlich Paging jedoch zu brechen, so hängt es, wie Sie es verwenden würde.

Sie könnten auch die $ meta_key versuchen und Parameter $ meta_value get_posts aber es ist wahrscheinlich nur für Sie zur Arbeit gehen, wenn Sie jede Benutzer-ID als Einzelwert in einem eigenen benutzerdefinierten Feld.

Wie so:

Key: Benutzer-ID, Wert: 3

Key: Benutzer-ID, Wert: 5

Key: Benutzer-ID, Wert: 7

Key: Benutzer-ID, Wert: 8

Es klingt wie etwas, in dem Wordpress 'eingebaute Benutzerrollen besser sein könnten. Vielleicht erklären, was Ihr Ziel ist?

+0

+1 für die Erklärung Ihres Ziels, es wird es viel einfacher für uns machen! – TheDeadMedic

+0

Ich habe eine digg-ähnliche WP-basierte Website unter http://japanlike.com/ Jedes Mal, wenn ein Benutzer über eine Geschichte abstimmt, wird seine ID in einem Array meta_key gespeichert. Ich möchte eine Seite erstellen, die alle Geschichten anzeigen würde, die von einem einzelnen Benutzer gemocht werden. –

0

Haben Sie so etwas versucht?

$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, in meinem Fall, ist ein Array, und so wird es nicht mit dem obigen Code arbeiten. –

0

Sie könnten versuchen, eine user_meta erstellen, die die Beiträge speichert, dass er wollte, so dass Sie nur dieses Array explodieren und alle diese Stellen in einer Schleife zeigen (könnte Parameter mit einschließen).

Verwandte Themen