カスタムフィールドに入力した値で表示件数を変更する方法のメモ。
- 以下は「works」というカスタム投稿タイプを作成した場合の例。
- 「works」の最新の投稿を表示する固定ページ(スラッグ:recent_works)を作成(page-recent_works.php)
- 上記固定ページに「display_count」というカスタムフィールドを作成。
- カスタムフィールド「display_count」に入力された値で表示する件数を変更する。
以下をテンプレート「page-recent_works.php」に記述する。
<?php
$display_count = intval(get_post_meta($post->ID, 'display_count', true)) ? intval(get_post_meta($post->ID, 'display_count', true)) : 4;
$my_query = new WP_Query(array(
'posts_per_page' => $display_count,
'post_type' => 'works',
)
); ?>
- get_post_meta($post->ID, ‘display_count’, true) で入力された値を取得。
- intval($var) で整数としての値を取得。(成功時は $var の整数値、失敗時は 0を返す)
- 値が設定されてなければデフォルト値として「4」を指定。
- WP_Query の’posts_per_page’ に取得した値を設定。