web-dev-qa-db-fra.com

Boucle personnalisée pour un type de publication personnalisé pour l'auteur actuel

Je dois modifier le code ci-dessous pour n'afficher que les messages de l'utilisateur/de l'auteur actuellement connecté.

Il se trouve actuellement dans un fichier modèle de page de thème Wordpress et fonctionne bien. Toute aide serait appréciée car mes connaissances sont limitées.

$loop = new WP_Query( array( 'post_type' => 'html5-blank', 'category_name' => 'chapter' ) );
if ( $loop->have_posts() ) :
    while ( $loop->have_posts() ) : $loop->the_post(); ?>


        <div class="pindex">
            <div class="ptitle">
                <h2><?php echo get_the_title(); ?></h2>
            </div>
    <!-- post thumbnail -->

    <div class="featured-image">        <?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>

        <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">

            <?php the_post_thumbnail(array(120,120)); // Declare pixel size you need inside the array ?>

        </a>

    <?php endif; ?></div>

    <!-- /post thumbnail -->
                <div class="post-content">
  <?php the_content(); ?>
</div>

        </div>
    <?php endwhile;
endif;
wp_reset_postdata();

Le code ci-dessus est basé sur une réponse trouvée ici: Boucle personnalisée pour un type de message personnalisé

3
Kay

Vous pouvez obtenir l'ID utilisateur actuel en utilisant $user_id = get_current_user_id(); et utiliser le $user_id dans votre requête.

$user_id = get_current_user_id();
$loop = new WP_Query( array( 'post_type' => 'html5-blank', 'category_name' => 'chapter', 'author' => $user_id ) ); 
if ( $loop->have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post(); ?>


<div class="pindex">
    <div class="ptitle">
        <h2><?php echo get_the_title(); ?></h2>
    </div>
    <!-- post thumbnail -->

    <div class="featured-image">
        <?php if ( has_post_thumbnail()) : // Check if thumbnail exists ?>

        <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">

            <?php the_post_thumbnail(array(120,120)); // Declare pixel size you need inside the array ?>

        </a>

        <?php endif; ?>
    </div>

    <!-- /post thumbnail -->
    <div class="post-content">
        <?php the_content(); ?>
    </div>

</div>
<?php endwhile;
endif;
wp_reset_postdata();
2
Manoj Kumar