カスタム投稿で同じタームに属する記事のリンクをランダムで表示する方法
解決したいこと
カスタム投稿において、同じタームに属する記事のレコメンドをランダムで表示したい
カスタム投稿フィールドを用いて、同じタームに属する記事をランダムで表示したいと考えています。
とりあえず、投稿された記事全てを対象に、ランダム表示することまではできたのですが、
最終目標である、同じタームの記事をランダム表示というのがどうにもできません。
phpはじめ、コード全般がど素人です。
すみませんが、解決方法を教えて下さい。
現在のコード
<div class="vk_posts vk_posts-postType-postprogram vk_posts-layout-card vk_postList "><!-- [ /投稿一覧始まり ] -->
<?php
$args = array( //リクエストを配列にまとめる
'post_type' => 'postprogram', //出力したい投稿タイプを指定
'posts_per_page' => 4, //1ページあたりの表示件数
'orderby' => 'rand',//投稿の中からランダム表示
'post_status' => 'publish', //ステータスを指定【publish(公開済み),draft(下書き),future(予約投稿) etc...】
'tax_query' => array(
array(
'taxonomy' => 'postprogram_cat',//function.phpでカテゴリ追加した時に設定したやつ
'field' => 'slug',
'operator' => 'NOT IN'
)
)
);
$the_query = new WP_Query($args);//WP_Queryという設計図に自分が定義した$argsをパラメーターとして入れることでオブジェクトを生成
?>
<?php if($the_query->have_posts()) : while ($the_query->have_posts()): $the_query->the_post(); ?>
<?php if (has_post_thumbnail()) : ?>
<?php $aithum = get_the_post_thumbnail_url( get_the_ID(), 'medium' ); ?>
<?php else : ?>
<?php $aithum = "https://test.morisac.net/wp-content/plugins/vk-blocks-pro/inc/vk-blocks/images/no-image.png" ;?>
<?php endif ; ?>
<div class="vk_post vk_post-postType-postprogram card card-post vk_post-col-xs-12 vk_post-col-sm-6 vk_post-col-md-6 vk_post-col-lg-6 vk_post-col-xl-6 vk_post-col-xxl-6 vk_post-btn-display postprogram type-postprogram status-publish hentry">
<div class="vk_post_imgOuter" style="background-image:url(<?php echo $aithum; ?>)">
<a href="<?php the_permalink(); ?>">
<div class="card-img-overlay"></div><img src="<?php echo $aithum; ?>" alt="" class="vk_post_imgOuter_img card-img-top" loading="lazy"></a>
</div><!-- [ /.vk_post_imgOuter ] -->
<div class="vk_post_body card-body">
<h5 class="vk_post_title card-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h5>
<div class="vk_post_btnOuter text-right"><a class="btn btn-sm btn-primary vk_post_btn" href="<?php the_permalink(); ?>">もっと見る</a></div>
</div><!-- [ /.card-body ] -->
</div><!-- [ /.card ] -->
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
</div><!-- [ /投稿一覧終わり ] -->
自分で試したこと
・'orderby' => 'rand', の部分を 'orderby' => 'term_order', に変更してみた →効果なし
・その他、見よう見まねでやってみたものの、どうにもならず…
何卒よろしくお願いいたします。
0