web-dev-qa-db-fra.com

Comment afficher des publications spécifiques avec WP_Query?

J'ai besoin d'aide pour afficher certains messages WordPress spécifiques.

L'utilisateur de mon site peut cliquer sur un lien "Ajouter aux favoris" qui stockera ensuite cet ID de publication dans la table user_meta pour cet utilisateur sous forme de tableau.

Alors, quand je mets ce qui suit dans ma page de modèle author.php ...

<?php 
print_r ($curauth->user_favourite_post) ;
?>

... ça revient avec ça ...

Array
(
    [0] => 2387
    [1] => 1307
    [2] => 1149
    [3] => 1156
    [4] => 474
    [5] => 50
    [6] => 1131
    [7] => 1473
    [8] => 2388
    [9] => 2544
)

... qui est tout bon. Il s'agit des identifiants de publication que l'utilisateur a "Favorisés".

Ma question est la suivante: comment puis-je afficher ces publications sur la page de l'auteur? J'ai ceci...

    <?php
$my_query = new WP_Query();
$my_query->query(array( 'post__in' => array($curauth->user_favourite_post)));
while ($my_query->have_posts()) : $my_query->the_post(); 
?>

<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3> 
<?php endwhile; ?>

... Mais il affiche simplement tous les messages et pas ceux qui ont été "favorisés" par l'utilisateur. J'ai essayé un certain nombre de façons différentes et elles reviennent toutes à chaque publication.

1
Brant

Peut-être parce que vous passez un tableau de tableau, essayez ceci:

<?php
$my_query = new WP_Query();
$my_query->query(array( 'post__in' => $curauth->user_favourite_post));
while ($my_query->have_posts()) : $my_query->the_post(); 
?>
    <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3> 
<?php endwhile; ?>
2
Bainternet