Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the smart-custom-fields domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/siennahare23/www/wp-lesson/wp-includes/functions.php on line 6114

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/siennahare23/www/wp-lesson/wp-content/plugins/smart-custom-fields/classes/fields/class.field-datetime-picker.php on line 79

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/siennahare23/www/wp-lesson/wp-content/plugins/smart-custom-fields/classes/fields/class.field-datetime-picker.php on line 80

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/siennahare23/www/wp-lesson/wp-content/plugins/smart-custom-fields/classes/fields/class.field-datetime-picker.php on line 114

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/siennahare23/www/wp-lesson/wp-content/plugins/smart-custom-fields/classes/fields/class.field-datetime-picker.php on line 115

Notice: 関数 _load_textdomain_just_in_time が誤って呼び出されました。twentyseventeen ドメインの翻訳の読み込みが早すぎました。これは通常、プラグインまたはテーマの一部のコードが早すぎるタイミングで実行されていることを示しています。翻訳は init アクション以降で読み込む必要があります。 詳しくは WordPress のデバッグをご覧ください。 (このメッセージはバージョン 6.7.0 で追加されました) in /home/siennahare23/www/wp-lesson/wp-includes/functions.php on line 6114
特定の投稿記事の表示 – wp-lesson

子テーマのsingle.phpです

20231228-id132.phpです

特定の投稿記事の表示

手順

特定の投稿記事を表示するコードを20231228-id132.phpに記述

「サブループ」をWP_Queryクラスを使って使用
(※サブループはメインループで表示するメインクエリの記事データとは別に、任意で指定した条件で絞り込んで投稿データを取得することができます。)


<?php
    $args = array(
        'post_type' => 'post',
        'post__in' => array(5,11,40),
    );
    $set_query = new WP_Query( $args );
?>

<div style="background-color: rgba(109, 213, 140, 0.2);">
<?php if ( $set_query->have_posts() ): ?>
        <?php while ( $set_query->have_posts() ) : $set_query->the_post(); ?>
            <a href="<?php the_permalink(); ?>"><?php the_title('<h2>','</h2>'); ?></a><br />
        <?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
</div>

single.phpに作成したテンプレートファイルを読み込む

<?php
    if( is_single('132') ) :
        get_template_part( 'template-parts/post/20231228-id132' );
    endif;
?>

実際のコード

<style>
    .sample20231228 {
        background-color: #f7f7f7;
        padding: 0.6rem 1rem;
    }

    .sample20231228 ul {
        margin-bottom: 0;
    }

    .sample20231228 li {
        margin-bottom: .2rem;
    }

    .sample20231228 li:last-child {
        margin-bottom: 0;
    }

    .sample20231228 li a {
        display: flex;
        column-gap: 1rem;
    }

    .sample20231228 .post_thumbnail {
        max-width: 120px;
    }

    .sample20231228 .post_thumbnail img {
        width: 90px;
        height: 60px;
        object-fit: cover;
    }

    .sample20231228 .post_title {
        padding-top: 0.6rem;
        font-size: 0.875rem;
        color: #333;
    }

    .sample20231228 .post_date {
        font-size: 0.625rem;
        margin-bottom: 0;
    }
    
</style>

<p style="background-color: #6dd58c; color: #fff; font-size: .75rem; font-weight: bold; padding: .6rem 1rem;">20231228-id132.phpです </p>


<?php /* 取得する投稿の条件 */ ?>
<?php
  $args = array(
    'post_type' => 'post', /* 取得したい投稿タイプ */
    // 'posts_per_page' => 12, /* 表示したい投稿の数 (すべての取得したい場合は「-1」) */
    'post__in' => array(5,11,40),
  );
  $the_query = new WP_Query($args); /* クエリの作成と発行をし、取得したデータを「$the_query」に格納 */
?>

<div class="sample20231228">
<?php /* 取得した投稿の表示 */ ?>
<?php if ($the_query->have_posts()): /* もし、投稿がある場合 */ ?>
  <ul style="list-style: none;">
    <?php while ($the_query->have_posts()) : $the_query->the_post(); /* 投稿のループ開始 */ ?>
    <li>
      <a href="<?php the_permalink(); ?>"><?php /* 投稿のパーマリンク取得 */ ?>
        <div class="post_thumbnail">
          <?php if( has_post_thumbnail() ): /* もし、投稿にサムネイルが設定されている場合 */ ?>
            <?php the_post_thumbnail(); /* 投稿のサムネイルを表示 */ ?>
          <?php else: /* もし、サムネイルが設定されていない場合 */ ?>
            <img src="https://placehold.jp/16px/999/ffffff/352x198.png?text=No%20Image" alt="No Image">
          <?php endif; /* サムネイルのif文終了 */ ?>
        </div>
        <div>
            <h2 class="post_title"><?php the_title(); /* 投稿タイトルの表示 */ ?></h2>
            <p class="post_date">
            <?php /* 公開日の表示 */ ?>
            <span class="release_date">公開日 | <time datetime="<?php the_time('Y-m-d');?>"><?php the_time('Y.m.d'); ?></time></span>
            <?php /* 最終更新日の表示 */ ?>
            <?php if(get_the_time('Y.m.d') != get_the_modified_date('Y.m.d')): /* もし、公開日(the_time)と最終更新日(the_modified_date)が異なる場合 */ ?>
            <span class="update_date">最終更新日 | <time datetime="<?php the_modified_date('Y-m-d'); ?>"><?php the_modified_date('Y.m.d'); ?></time></span>
            <?php endif; /* 最終更新日のif文終了 */ ?>
            </p>
        </div>   
      </a>
    </li>
    <?php endwhile; /* 投稿のループ終了 */ ?>
  </ul>
<?php else: /* もし、投稿がない場合 */ ?>
  <p>まだ投稿がありません。</p>
<?php endif; /* 投稿の条件分岐を終了 */ ?>
<?php wp_reset_postdata(); /* クエリ(サブループ)のリセット */ ?>
</div>
デフォルトのテキストです