カードスタイルのNEW POST
カードスタイルのNEW POST

WordPressの人気テーマ・Stinger6では手間暇かけずともサイドバーにNEW POST(新着記事)が使えるようになっている。今まで使っていたテーマのようにウィジェットで「新着記事」を設定する必要はないので、すごく有難い。

デフォルトの状態でも有難いのだが、ただほんの少し手を加えると、NEW POST(新着記事)の価値がさらに上がる!と信じるので、私が行ったカスタマイズを3点だけ以下に紹介する。

前もって断っておくが、私は、自分でコードをいじれる程のスキルは持ち合わせていない。ただ自分がこうあってほしいと願う状態を先にイメージして検索を繰り返し、それを実現している先達の知恵(公開されているコード)を見つけ出しては試してみる。

試した結果、自分の環境でもうまく作動した場合は有難く拝借し、望む状態へと近づけていく、それが私の手法なのだ。

「NEW POST」にこうあってほしいと感じたことは、次の3つ。

  1. WordPressではフロントページの設定を最新の投稿にした場合、トップページでは新着記事が重複するので「NEW POST」は表示しない。
  2. NEW POST(私の場合の設定数は5)で表示中の記事をメインで表示しているページでは、その記事は「NEW POST」から除外する。
  3. 「NEW POST」を見栄え良くしたい。

トップページでは「NEW POST」を表示しない設定

トップページで「NEW POST」を非表示にするためには、sidebar.phpの書き替えで可能となる。18行目の ・・・//最近のエントリ ?>を探し出し、

その行を以下のコードで上書きするとよい。私は万一に備えsidebar.phpを子テーマにコピーしそれを上書きした。この手順を経ることで不具合が出た際に子テーマのsidebar.phpを削除することで即復旧が可能となる。

if (!is_front_page()) :というコードの意味はフロントページ(トップページ)でない場合は、という意味。そしてその下の行は、NEW POSTをゲットせよ!という指示だとか!参考にさせていただいたページの中から以下のページを代表して掲示させていただく。

現在表示中の記事はNEW POSTから除外する設定

現在表示中の記事ではサイドバー/NEW POSTにその記事を表示しない設定は、newpost-thumbnail-on.phpを編集することで可能となる。

5行目の’post__not_in’ => array($post->ID)が新たに付け加えられたコード。参考にさせていただいたのは以下のサイト。

NEW POSTをカード形式で表示する方法

このサイトのコードをコピペすることで「NEW POST」をカード形式で格好良く表示できるようになった。感謝!!