WordPress は、そのままでもブログや静的ウェブサイトを比較的簡単に実現できますが、PHP でテンプレートや CSS のスタイルシートを書くことで、トップページのカスタマイズなどができるようです。
Iconic One テーマの標準的な表示に不満があったので、以下を参考に簡単なテンプレートを書いてみました。
(しかし、まずは PHP の基本を勉強したほうが良さそうだということに気づきました。CSS も以前に勉強したのですが、もう忘れてしまいました。)
- First Steps With WordPress
- Theme Development
- Child Themes
- Page Templates
- Creating a Static Front Page
- Function Reference/the content
いくつか勉強したことを備忘録として残しておきます。
固定フロントページ(static front page)で任意の出力をする
まだ詳細は分かっていませんが、index.php のコピーを page-template/my-index.php などとして作成し、その先頭近くの
<div id="primary" class="site-content"> <div id="content" role="main">
の下に何か書くと、そのまま出力されるようです。
表示しているページの識別
index.php などで the_post() を呼び出すとpost や page のレンダリング? が実行されますが、そのときに本文全体が表示(the_content())されるか、抜粋(excerpt)が表示(the_excerpt())されるかは、get_template_part() で呼び出される content.php 内部で判断されているようです。
その判断ですが、トップページ(いわゆるホームページ)を閲覧しているときは、is_home() が TRUE になります。ただし、static front page を使用しているときは、is_front_page() でないと TRUE にならないようです。
そのため、もし static front page で excerpt を表示したい場合は、is_home() に加えて is_front_page() の判断を OR 条件にすれば良いようです。
excerpt で、more までのみ表示
the_content() でしか使えないとありますが、excerpt でも動いているように見えます。ちゃんと調べていませんが。。。こんな感じにしてみました。
<?php global $more; $more=0; get_template_part( 'content', get_post_format() ); ?>