このエントリーをはてなブックマークに追加

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

に変更

2017.08.14 投稿 

新しい情報を追記している場合はありますが、古い情報の修正はしていません。投稿日・文中の日付を参照してください。

Recent Articles