web-dev-qa-db-ja.com

現在の著者のカスタム投稿タイプのカスタムループ

現在ログインしているユーザー/著者の投稿のみを表示するには、以下のコードを編集する必要があります。

現在Wordpressのテーマページのテンプレートファイル内にあり、うまく機能します。私の知識は限られているので、どんな助けでも感謝されるでしょう。

$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();

上記のコードは、こちらの回答に基づいています。 カスタム投稿タイプのカスタムループ

3
Kay

$user_id = get_current_user_id();を使って現在のユーザーIDを取得し、クエリで$user_idを使うことができます。

$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