Child Pages Shortcodeではできませんが、テンプレートに下記のように書けば実現可能です。
<?php
// 固定ページの場合
if ( is_page() ) :
// 現在のページを取得
$page = get_post();
// 何ページ目を見てるかを取得
$paged = (int) get_query_var('paged');
// WP_Queryの引数を作成
$args = array(
'posts_per_page' => 10, // 1ページに表示するページ数
'orderby' => 'menu_order', // 表示順
'order' => 'ASC', // 降順
'post_type' => 'page', // 固定ページ
'post_status' => 'publish', // 公開
'post_parent' => $page->ID, // 現在のページが親
'paged' => $paged // 何ページ目か
);
// 新しいWP_Queryのインスタンスを取得
$the_query = new WP_Query( $args );
// 投稿が存在するとき
if ( $the_query->have_posts() ) {
// 投稿があるかぎりループする
while ( $the_query->have_posts() ) {
// テンプレートタグのセットアップ
$the_query->the_post();
// 自由にテンプレートタグを使って表示する
?>
<h3><?php the_title(); ?></h3>
<?php
}
// ページネーション(パーマリンクがデフォルト以外のとき)
if ($the_query->max_num_pages > 1) {
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => 'page/%#%/',
'current' => max(1, $paged),
'total' => $the_query->max_num_pages
));
}
}
wp_reset_postdata();
endif;
?>
hissy様
ご回答ありがとうございます。
Child Pages Shortcodeのプラグインでは無理なのですね。
サムネイルや抜粋文字が簡単に表示できるので重宝していたのですが残念です。
他のプラグインも検討したのですがデザイン的にもChild Pages Shortcodeが一番自分には合っているような感じがして。
テンプレートを活用する方法があるんですね。
いままでテンプレートは使っていませんでした。
ありがとうございます。
ただ現在制作中のサイトの管理画面には固定ページ設定内のページの右下には「テンプレート」という項目が見当たらないんです。
バージョンアップ時などのバグで表示されなくなるとかならないとかの記事をどこかでお見受けしました。
お教えいただいたテンプレートでの方法も試してみたいと思います。
ご回答ありがとうございます。