acf 関連をランダム表示に

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

Advanced Custom Fields の関連フィールドでおすすめ記事の設定をしているのだが、上限10で全件表示から上限を増やしてランダム表示にしたいということで

<?php $pid = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = 'config'"); if (get_field('recommend')) { $posts = get_field('recommend'); } elseif (get_field('recommend','category_'.$ccat->cat_ID)) { $posts = get_field('recommend','category_'.$ccat->cat_ID); } elseif (get_field('recommend','category_'.$pcat)) { $posts = get_field('recommend','category_'.$pcat); } elseif (get_field('recommend_common', $pid)) { $posts = get_field('recommend_common', $pid); } if ($posts) { ?>
<div class="recommend">
<h3>おすすめ記事</h3><ul>
<?php foreach( $posts as $post): setup_postdata($post); ?>
<li class="clearfix"><?php if (has_post_thumbnail()) { ?><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('gridthumb'); ?></a><?php } ?><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><span class="excerpt"><?php echo mb_substr(get_the_excerpt(), 0, 42); ?>…</span></li>
<?php endforeach; ?></ul></div><?php wp_reset_postdata(); } ?>

から

<?php $pid = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = 'config'"); if (get_field('recommend')) { $posts = get_field('recommend'); } elseif (get_field('recommend','category_'.$ccat->cat_ID)) { $posts = get_field('recommend','category_'.$ccat->cat_ID); } elseif (get_field('recommend','category_'.$pcat)) { $posts = get_field('recommend','category_'.$pcat); } elseif (get_field('recommend_common', $pid)) { $posts = get_field('recommend_common', $pid); } 
$args = array(
    'posts_per_page' => 6,
    'post__in'   => $posts,
    'orderby'        => 'rand',
);
	$the_query = new WP_Query( $args );
?><?php if ($the_query->have_posts()) : ?><div class="recommend"><h3>おすすめ記事</h3><ul>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<li class="clearfix"><?php if (has_post_thumbnail()) { ?><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('gridthumb'); ?></a><?php } ?><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><span class="excerpt"><?php echo mb_substr(get_the_excerpt(), 0, 42); ?>…</span></li>
<?php endwhile; ?></ul></div><?php endif; wp_reset_query(); ?>

に変更

その他のAdvanced Custom Fields に関する記事一覧

Advanced Custom Fields に関する記事一覧ページへ