スポンサーリンク
Word Press のキモは、記事の検索機能と思えます。
様々な表示、表現はCSSで実現されていることが多く、いわゆるMVC理論に基づけばC,コントロールを行うモジュール群が重要な位置づけでしょう。
今回は自分が直面した問題と解決方法を記します。
WordPressの初期設定は、最新記事をひたすら表示していくモノになっています。
これはこれでいいのですが、書いた記事がノウハウとして残っていくようなサイトの場合、いくつかの記事をまとめた固定ページを作りたくなります。
そしてその固定ページをフロントページに貼って、訪問者がすぐに行けるようなショートカットを作りたいでしょう。
その一方でそういう固定記事が少なければ、その下に最新記事をおきたい気持ちもあります。別のページにすると面倒なので見てもらえないかもしれません。
どのように解決すればいいでしょう。対策は下記を組み合わせて行いました。
まず、最新記事が表示されるままでは固定ページを入れる余地がないので、固定化します。
管理画面から固定ページ>>新規追加に進みます。
ページの名前は何でもいいですが、ホームぺージ としておきます。
slugは入れなくてもそのままでもいいです。(入れても下図のように消えます)
本文は不要なのでこの状態で公開ボタンを押します。
同様にしてslugをblog、本文は同様に空っぽで、タイトル 投稿一覧 を作り公開します。
管理画面の左のメニューから設定>>表示設定を選択し、ホームページの表示 という欄に行きます。
ここの設定は最初は最新の投稿 が選択されていますので、下の固定ページを選択します。
そうすると下のホームページ、投稿ページを選択できるようになります。
ここに先ほど作った固定ページのホームページと投稿一覧をプルダウンメニューから選択し、保存します。
これで、ホームページの表示は初期状態の最新記事のリスト表示ではなくなります。
ホームページの固定ページになにも記載していないので、空っぽのページができました。
記述がないので下図のホームページというタイトルとその下の広告の間に何も入っていません。
残念ながらブログ記事の編集画面ではHTMLを記述できてもPHPは直接記述できないようです。目的はこのままでは達することができませんので、次のステップに進みます。
特定のページには、それ専用の処理を行ったレイアウトで表示をしたい場合があります。Word Pressの仕様と思いますが、それを行うファイルを下記のルールで準備することができます。
ホームページ: front-page.php
一般的な固定ページ:page-(ページのスラッグ).php 例;newsという固定ページであれば、page-news.php が専用のページファイルになります。
これがない場合は、固定ページのレイアウトはpage.phpに従います。page.phpがない場合のことはまた別の機会に。
Irvinejpテーマではfront-page.phpをPCDIYサイト用に作ったのでこれを流用しています。
これを置くだけで特別な設定なしでfront-page.phpの内容が参照されて、表示が変わります。
あとはPHPとHTMLでront-page.phpを好きなように記述していきます。
ちなみに本サイトでは、フロントページは下記のような構成にしています。
PHPはプログラムなので、これらの順番を変えることも簡単にできますし、無くすことや新機能を足すこともできます。また、これらに何を表示するかもPHPで細かく制御しています。
余談:もちろん管理画面から制御できれば良いのですが、まだそこまで知識がないです。
対策2については次回。
PR