SimpleJournal – 投稿ページにコメント欄を表示する

今回は投稿ページに以下のようなコメント欄を表示してみます。

Preview Entry 02

 

01 comments.php を作成

テーマフォルダの下に、comments.php という名前のテンプレートファイルを新規作成します。

comments

comments.php には、single.php にあるコメント一覧とコメントフォーム部分のHTMLをコピーして貼り付けます。

 

02 single.php に comments.php の内容を読み込む

次に、single.php のコメント一覧とコメントフォーム部分のHTMLを以下のようなテンプレートタグに置き換えます(62行目を参照)。

 

今回使ったのは以下のインクルードタグ。

comments_template

コメントテンプレートを読み込みます。

(パラメータの例)

  • $file -> ロードするファイル。指定しない場合は、 comments.php がロードされる。

03 comments.php の作り込み

以上により投稿ページに comments.php の内容が読み込まれるようになりましたので、次は comments.php の作り込みをしていきます。

※ テンプレートタグの説明を省略します。

 

以上の編集が完了したら、Webブラウザで投稿ページの確認をしてみます。

impl comments

一部日本語表示となっていたり、微妙にスタイルがHTMLと異なったりしていますが、ひとまずはこれでOKとします(後日微調整するつもりです)。

SimpleJournal – 投稿のページテンプレート single.php の作り込み

今回は投稿の詳細を表示するためのページテンプレート single.php を作りこんでいきたいと思います。

いじるのは、以前に作成した以下のファイル。

single.php

 

まずはヘッダー部分とフッター部分、投稿のタイトルと本文をテンプレートタグで置き換えます(こちらこちらでやった手順と一緒ですが、ページネーション用のテンプレートタグは利用しません)。

 

vagrantを起動してWordPressの管理画面にログインし、以下のような投稿を新規追加します。

Post Entry

 

この投稿のパーマリンクをクリックすると、single.php が適用された以下のような画面が表示されます。

Preview Entry

 

ただし現状は、投稿ページの下の方に表示するコメントの一覧やコメントフォームは静的HTMLのままですので、次回以降、テンプレートタグを組み込むことで作りこんでいこうと思います。

Preview Entry 02

Simple Journal – 投稿が1件もない場合の表示をつくりこみ

今回は、サイトに登録されている投稿(ステータスが「公開」のもの)が0件だった場合のトップページの表示をつくりこみたいと思います。

 

まずはさくっと、index.php を以下のように編集。

表示すべき投稿が1件もない場合、画面に「投稿がありません。」と表示するようにしています(52行目参照)。

ちなみに投稿があるかどうかを判定する際には以下の関数を利用します。

have_posts

投稿があるかどうかをチェッックし、ある場合は true を、ない場合は false を返します。

WordPressサイトの管理画面にログインし、現在登録&公開している投稿をすべてゴミ箱に移動した場合のサイトのトップページは以下。

No Post

ちょっと味気ないですが、メッセージが表示されるようになりました。

 

このままだとさすがにちょっと寂しすぎるので、最終的には以下のようにしてみました。

No Post 02

 

次回は、固定ページや投稿ページのテンプレートファイルを作りたいと思います。