2010-11-23 14 views
0

Chacun de mes messages a une méta_key qui est un tableau avec des ID utilisateur. Est-il possible d'afficher uniquement les messages dont le tableau meta_key contient un ID utilisateur spécifique?Wordpress: Passer les messages dans the_loop ou interroger avec le tableau meta_keys

Je n'ai trouvé aucun moyen d'appliquer un tel filtre dans la requête, et si je saute des messages à l'intérieur de la boucle, la fonction ne montre pas assez de messages.

+0

N'oubliez pas d'essayer cette option! Si l'un d'eux vous aide à marquer comme votre réponse! :) –

Répondre

1

Vous pouvez ignorer les messages à l'intérieur de la boucle comme vous le faites, mais exécutez votre requête à TOUS les messages, et arrêtez/cassez la boucle une fois que vous avez atteint le nombre de messages que vous souhaitez afficher.

get_posts (« numberposts = -1 ») supprime la limite - http://codex.wordpress.org/Template_Tags/get_posts Ce genre de chose est susceptible de casser la pagination mais il dépend comment vous l'utilisez.

Vous pouvez également essayer le meta_key de $ et le paramètre meta_value de get_posts $, mais il est probablement d'aller travailler pour vous si vous avez l'ID utilisateur comme valeur individuelle dans son propre champ personnalisé.

comme ceci:

clé: UserID, Valeur: 3

clé: UserID, Valeur: 5

clé: UserID, Valeur: 7

clé: UserID, Valeur: 8

Cela ressemble à quelque chose dans lequel les rôles utilisateur intégrés de Wordpress pourraient être meilleurs. Peut-être expliquer quel est votre objectif?

+0

+1 pour expliquer votre objectif, cela nous facilitera la tâche! – TheDeadMedic

+0

J'ai un site Web WP basé sur digg http://japanlike.com/ Chaque fois qu'un utilisateur vote sur une histoire, son identifiant est enregistré dans un tableau meta_key. Je voudrais faire une page qui afficherait toutes les histoires aimées par un seul utilisateur. –

0

Avez-vous essayé quelque chose comme ça?

$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, dans mon cas, est un tableau, et donc il ne fonctionnera pas avec le code ci-dessus. –

0

Vous pouvez essayer de créer un user_meta qui stocke les messages qu'il vous aimait bien, só éclatez juste ce tableau et de montrer tous ces messages dans une boucle (peut être utilisé inclure le paramètre).