情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・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 に関する記事一覧
- ACF デートピッカーのフォーマット設定
- ACF リピーターをカレンダーに出力(予約カレンダーの実装)
- ACF 入れ子リピーターの内側だけループ
- WP REST API 独自エンドポイントとACF
- ACF 値の登録や保存
- REST API でACFの表示など
- Advanced Custom Fields の表示、まとめ
- PHP8以降で出るWarning
- イベントの開催期間の表示
- イベント終了時にタイトルに追加する
- アクセスランキング
- ワードプレスからメール送信
- CF7で予約した人にリマインドメールを送る
- ACF 設定ページ(オプションページ)
- ACF escape HTML
- 出勤・スケジュール管理の覚書2
- ACF 複数選択チェックボックスのチェックの有無
- Advanced Custom Fields で役立つ関数
- 日時予約簡易版
- ACF チェックボックス(複数選択)のアップデート