2010-11-24 10 views
0

Je suis occupé à créer une petite page d'options de thème pour l'un des clients et j'ai besoin d'aide pour résoudre un problème.Page des options du thème Wordpress query_posts

actuellement i ont la possibilité de mettre manuellement dans IDS de pages wordpress pour extraire les données avec query_posts

en fonction des options thématiques est crée une variable appelée $euro_box_1_vehicles;

mes options sont remplis comme 32,39,43,54 dans l'entrée, et quand j'imprime cette déclaration avec écho, j'obtiens le même résultat.

Lorsque je viens de remplacer array(32,39,43,45) avec array($euro_box_1_vehicles) il ne renvoie qu'un seul résultat.

<?php 
    $vehicle1 = array(
     'post__in' => array(32,39,43,45), 
     'post_type' => 'page', 
    ); 

    query_posts($vehicle1); 
    while (have_posts()) : the_post(); 
?> 
+1

Essayez 'var_dump ($ euro_box_1_vehicles)' et faites-nous savoir ce qui est imprimé. – TheDeadMedic

+0

Quand je echo var_dump = string (11) "32,39,43,45" – ApPeL

+0

@TheDeadMedic, Ajouté le résultat pour vous. – ApPeL

Répondre

2

Quand je fais l'écho var_dump = string (11) "32,39,43,45"

Dans ce cas, vous devez explode$vehicle1, depuis post__in attend un tableau;

query_posts(array(
    'post_type' => 'page', 
    'post__in' => @explode(',', $vehicle1) 
)); 
1

Mise à jour

Quand je remplace simplement tableau (32,39,43,45) avec tableau (de euro_box_1_vehicles $), elle retourne un seul résultat.

ne devrait pas vous remplacer array(32,39,43,45) avec $euro_box_1_vehiclespasarray($euro_box_1_vehicles)? Ce dernier semble créer un tableau imbriqué avec un argument, c'est-à-dire array (array (32,39,43,45)). Ce n'est pas ce que tu veux.


Old réponse ....

Si je vous ai bien compris alors query_posts() attend une liste d'ID? (32,39,43,45)

Mais lorsque vous lui passez $ vehicle1, vous ne lui donnez pas une liste d'ID, mais un tableau bidimensionnel.

<?php 
    $vehicle1 = array(
     'post__in' => array(32,39,43,45), 
     'post_type' => 'page', 
    ); 

    query_posts($vehicle1['post_in']); //use sub-array that contains list 
    while (have_posts()) : the_post(); 
?> 
+0

Non Eddie, @ApPel l'a bien compris - query_posts() attend un tableau d'arguments, et 'post__in' est un argument particulier qui attend un tableau d'ID. – TheDeadMedic

Questions connexes