I need to edit the below code to only display posts for the current logged-in user/author.

It is currently within a WordPress theme page template file and works well.
Any help would be appreciated as my knowledge is limited.

$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="https://wordpress.stackexchange.com/questions/186154/<?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();

The above code is based on an answer found here:
Custom Loop for Custom Post Type

1 Answer
1

You can get the current user ID using $user_id = get_current_user_id(); and use the $user_id in your query.

$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="https://wordpress.stackexchange.com/questions/186154/<?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();

Leave a Reply

Your email address will not be published. Required fields are marked *