web-dev-qa-db-fra.com

Obtention de messages personnalisés par ID post à partir de la saisie de texte Cutomizer

Je souhaite afficher des publications personnalisées dans une page à l'aide de l'identifiant de la publication, tiré du texte du personnalisateur, où mon code est ici

<?php
    $query = new WP_Query( array( 'post_type' => 'post', 'post__in' => array( get_theme_mod('fp_post') ) ) );

    while ($query -> have_posts()) : $query -> the_post();
        the_title();

    endwhile;
?>

fp_post est le nom du paramètre de personnalisation.

quand utiliser ce code, il ne montre qu’un message, mais quand il utilise 179,182,185 (numéro d’identification) à la place de get_theme_mod ( 'fp_post') affiche tous les articles

lorsque vous imprimez la valeur de fp_post , il affiche 179,182,185

1
Partha

Le paramètre post__in nécessite un tableau. Consultez la documentation WP_Query .

Avec votre champ de personnalisation, vous n'enregistrez pas de tableau, vous enregistrez une chaîne séparée par des virgules. Alors essayez quelque chose comme ça:

$my_field = get_theme_mod('fp_post');

// create an array from comma separated values
$the_post_id_array = explode(',', $my_field);

$query = new WP_Query( array( 'post_type' => 'post', 'post__in' => $the_post_id_array ) );

while ($query -> have_posts()) : $query -> the_post();

    the_title();

endwhile;

Voir dans la documentation:

'post__not_in' => array( '1,2,3' )  // <--- this wont work
0
LWS-Mo