List category postsは、ワードプレスの新着情報を、TOPページに表示させるときにとても便利なプラグインです。例えば、
- 特定のカテゴリのみを表示することができる(IDを指定することで可能)
- 日付を表示させることができる
- 本文の抜粋を表示させることできる
などなど、とても素晴らしい機能がたくさんあります。
しかし、上記のような内容は、検索すればすぐに探すことができると思います(List category posts ショートコード等で調べるとでてくるかと思います。)
しかし、私は、2つほど、かゆいところに手が届かないところがありました。
それは、
- 日付を前に持ってきたい
- 日付で開業し、タイトルは、その下に表示させたい(その方がスマホで閲覧時にきれいに見せることができるため)
の2点です。
そのやり方を見つけましたので、今回紹介したいと思います。
日付を前に持ってくる方法
こちらをやるには、ひとつ準備が必要になります。
(下準備)既存のList Category Postプラグインのファイルをthemeの中にコピー&設定
①テーマフォルダの中に「List category posts」というディレクトリを作成する
※例:/wp-content/themes/テーマ名/list-category-posts/
②plugins/list-category-posts/templates/内のdefault.phpをコピーし、①のディレクトリの中にいれる
→ そのファイル名は、date_position.php等にしてください(後々の設定で同じ名前が必要になるため)
③で作成した「date_position.php」を開き、以下のAをBの下に移動する
A タイトルを表示させているコード
//Show the title and link to the post:$lcp_display_output .= $this->get_post_title($post);
B 日付を表示させているコード
//Show date:$lcp_display_output .= $this->get_date($post);
投稿リストを表示させたい場所にショートコードを記述
ここまでできたら固定ページや、投稿の編集画面を開き、List category posts で投稿リストを表示させたい場所に以下の設定をする
[catlist date=yes numberposts=5 template=date_position dateformat=”Y年m月d日 “]
上のショートコードの解説
※[catlist ← List category posts用のショートコードの初めに使用する
※date=yes ← 日付を表示させるという意味
※numberposts=5 ← 投稿リストを5つ表示させるという意味
※teplate=date_position ← date_position.phpというファイルの設定データを使用するという意味
※dateformat=”Y年m月d日 “ ← 日付の表示方法は、〇年〇月〇日 という表示にするという意味
これで、日付が、タイトルの上に表示されたかと思います。次に、日付で改行を入れてみましょう。
日付で改行をいれる方法
date_position.phpにはいり、以下のコードを追加する
追加①
(追加前)$lcp_display_output .= $this->get_date($post)
(追加後)$lcp_display_output .= $this->get_date($post) .
追加②
(追加前)$lcp_display_output .= $this->get_post_title($post)
$lcp_display_output .= $this->get_post_title($post) .'';
ここまでやった結果は以下のようになります。
よければ試してみてくださいね!