特定のカテゴリの新着情報を表示しようとすると、、、
$posts = get_posts('numberposts=5 & category=10'); foreach($posts as $post) : setup_postdata($post);
一旦、リスト出力して、 (上記の場合は、カテゴリ番号10の投稿を5件表示)
そして、そのリストを順番に表示させる。
<?php echo mb_substr(get_the_excerpt(), 0, 32);//抜粋の文字数を設定 $title= mb_substr($post->post_title,0,18);//タイトルの文字数を設定 ?>…<a href="<?php the_permalink() ?>">続きを読む</a>
と、これを、固定ページで作成すると、、、表示が変!、、
というわけで、しかたなく、この固定ページのテンプレートを作成。 固定ページのテンプレート作成手順
とりあえず、固定ページの新規作成で、目的の固定ページを作る。
本文は、適当に、、、
パーマリンクの設定がデフォルトであれば、この時点でページIDが表示されているので、確認する。
変更している場合は、、、
「固定ページ一覧」で目的のタイトルにマウスを乗せると最下部にpost=でID番号が表示されるので確認できる。
このID番号で、テンプレートを用意する。
と言っても、コピーを作る。page.phpをコピーして、page-id番号.phpをテンプレートとして作成する。
ローカルのPCのテーマファイルの中の「page.php」をCtrl+Cでコピー、Ctrl+Vで貼り付けると「page - コピー.php」が出来るので、「F・2」でファイル名を「page-126.php」に変更して、アップロード。
コピーした時点では、内容は同じコードなので、内容を変更
[code] get_header(); ?> <div id="container"> <div id="content" role="main"> <!---ここから---> <?php /* Run the loop to output the page. * If you want to overload this in a child theme then include a file * called loop-page.php and that will be used instead. */ get_template_part( 'loop', 'page' ); ?> <!---ここまでの間を編集、入れ替え---> </div><!-- #content --> </div><!-- #container --> <?php get_sidebar(); ?> <?php get_footer(); ?>
通常では、投稿ページをループする部分(content内)を特定のカテゴリをリスト表示するものに書き換えることで、その固定ページの表示に。
この方法からすると、、、
投稿ページは、single.phpだから、single-ID番号.phpで特定の投稿ページのテンプレートにも対応できる。あまり意味のないことは、やめたほうがいいけど、、
自動成形で編集モードで開いてしまって、変わっては困るものなど、これでは変更できない。
固定ページの編集では、どんなに書き換えても、こちらのテンプレートが優先してしまうので、容易に書き換えられることが防げる点では、いいかも。