Xeory Extensionって本当に素敵ですよね。
でも、よくある「ブログ一覧ページ」ないんです。
最新記事が10件とかで、表示されているあれです。
トップページに「人気のある記事」と「最近の投稿」は表示されているのですが、やっぱり「ブログのトップページ」的なページが欲しいです。
ということで。
これから作ります。
カスタマイズ概要
WordPressが使用するテンプレートの優先順位を利用して、「front-page.php」と「index.php」でXeory Extensionをますます素敵にしちゃいます。
- [フロントページの設定]で、「フロントページ」と「投稿ページ」で指定する固定ページを作成
- 「設定」>「表示設定」で、[フロントページの設定]を「固定ページ」に変更して、先程作った固定ページをそれぞれ指定
- index.phpを編集して、「投稿ページ」を表示している時は
bzb_title();
を出さないように修正 - メニューに「投稿ページ一覧」へのリンクを追加します。
流れとしては以上です。
では、行きましょう!
カスタマイズ開始
「フロントページ」と「投稿ページ」で指定する固定ページを作成
特に難しいことはないです。
スラッグとタイトルだけ入力して、本文は空でOKです。
私は以下のように作成しました。
スラッグ | タイトル | |
---|---|---|
フロントページ用 | top | TOP |
投稿ページ用 | blog | ItemServe Blog |
[フロントページの設定]に設定をする
特に難しいことはありません。
先程作った固定ページを指定するだけです。
サイト名を消す
カスタマイズの概要でも書いた通り、WordPressは使用するテンプレートに優先順位をつけています。
「front-page.php」<「home.php」<「index.php」
- front-page.php
- 「トップページ」を表示する場合、最も優先されるテンプレート名です。
この優先度は最も高く、[フロントページの設定]でどのような設定を行っていも、「トップページ」を表示する場合は、必ずこのテンプレートが呼び出されます。 - home.php
- [フロントページの設定]で、「フロントページ」と「投稿ページ」を設定した場合に優先されるテンプレートです。
「フロントページ」と「投稿ページ」、どちらかのみ指定しても呼び出されます。 - index.php
- 特殊なテンプレートです。WordPressのいかなるページを呼び出し、適当なテンプレートがない場合、最後に呼び出されるテンプレートがindex.phpになります。
今回の場合、以下のようになります。
フロントページ用 | front_page.php |
---|---|
投稿ページ用 | index.php |
投稿ページ用に「home.php」を作成しても構いませんが、今回は、「サイト名を表示させない」以外は、index.phpと同じです。
なので、新規に「home.php」は作らずにindex.phpをテンプレートとして使用しながら、もし「投稿ページ」=「home.php」を優先テンプレートで表示するなら~、と分岐させることにしました。
index.php
<?php if( !is_front_page() && !is_home() ){?>
<h1 class="post-title" ><?php bzb_title(); ?></h1>
<?php } ?>
追加したのは、 && !is_home()
です。
トップページ=front_page()
でも、投稿ページ一覧=is_home()
でもない場合は、サイト名を表示させる。
と言った分岐になります。
メニューに「投稿ページ一覧」へのリンクを追加
「外観」>「メニュー」で、「投稿ページ一覧」へのリンクを追加します。
完成です。
お疲れ様でした。
まとめ
意外に簡単にできたかと思います。
ブログ一覧が欲しかったので、完成してよかったです。
また次のカスタマイズも頑張ります!
コメント