WordPressで作るサイトで更新情報とか新着情報と言われると想像するのが「新しく公開した記事の一覧」だと思います。WordPressはブログ+αのサイト作成ツールですから基本的にはブログと同じ、その名残?で「News」というとこの新着記事一覧になるのではないかと思います。
ただブログではないサイトを作成しようとするとき、「わざわざ記事にする必要はないけど訪問者にお知らせしたい事柄がある」なんてケースありますよね?
そんなのはカテゴリー作っておいて新着記事をカテゴリーで絞り込んだものを表示すればよし!!と思った方、半分正解です。なぜ半分かというと・・・表示側では全体の新着記事に混ざってしまう問題をクリアしないといけないこと、管理側ではお知らせと通常の記事がごちゃごちゃになってしまうのを管理していくことが必要となることなどから、結局管理も最終的な表示方法も煩雑になってしまうからです。
できれば「お知らせ」はお知らせとして、通常の記事は「記事」として管理も表示もしたくありませんか?数はとても少ないですけどこの手のプラグインはいくつか存在します(探すのに結構苦労します)。が、今回は投稿の種類を増やす、リストを作るなどに興味のある方なら使っているかもしれない2つのプラグインの機能を使って専用品を使わずに実装してみたいと思います。
サンプルではなく実際にこのページのタイトル上にも使っている方法なので「そうそう!こんな感じの!!」と思われる方は是非やってみてくださいね。
※一覧ではなくスクロールされるようにしたい、1行で表示させたいという場合には今回紹介する方法よりも専用のプラグインを使った方がいいと思います。おすすめは
です。実はこのプラグインもこれから紹介する方法と同じように作ったものに1行表示できるような動きやデザインを加えたものです。
専用プラグインを使わずに「お知らせ」機能を実装する方法
使用するプラグイン
今回の機能で使用するプラグインは
の2つです。上のプラグインはカスタム投稿タイプという通常とは別の記事の集まりを作るためのもの、下のプラグインは何でもかんでもリスト化できるものです。プラグインを使わずに両方作ることも可能ですが、管理しやすいのでプラグインを使用することをお勧めします。
カスタム投稿タイプを作る
まずは「お知らせ」用の記事の集まり(カスタム投稿タイプ)を作ります。プラグインを有効化するとダッシュボードに「CPT UI」というメニューが追加されますので「カスタム投稿タイプの追加」をクリックして作成します。
設定するのは「カスタム投稿タイプのスラグ」と「名前(2か所)」だけです。いろいろ設定項目ありますけど特に他の記事とカテゴリーなどで関連づける必要もありませんからこれだけでいいです。
このプラグインについて詳しく知りたい方は
を参照ください(今回の趣旨とは離れるのでここでは割愛します)
作成できたら1つテスト記事を作ってみましょう。そして公開したら新着記事の一覧などを見てみてください。ね?表示されませんよね?たったこれだけで第一関門クリア!!です。
「お知らせ」に投稿した記事をnoindexにする
サイトからのお知らせというコンテンツはそれ自体がすごく短い文章であることが多いです。前項でカスタム投稿タイプに追加した記事はどこにも通知されないと解説しましたが、検索エンジンのクローラーは別。基本的にsitemap.xmlをヒントにクロールしますけど、そこからリンクをたどって「お知らせ」記事にたどり着いてしまうこともあるんです。
クロールされること自体は問題ありません。でも、前述したように短い文章の記事ですから間違って「このサイトは意味のないコンテンツが多いサイト」と認識され、一生懸命書いた他の記事に影響が及ばないとは限りません。
クローラーが巡回しても検索結果に掲載されるように登録しない、いわゆるNoindex属性をつけておくことをお勧めします。
方法は
で詳しく掲載していますので参考にしてください。
「お知らせ」リストを作成する
先ほど作ったカスタム投稿タイプへ追加したニュースをリスト化します。テンプレート作ってPHPでコード書いて・・・というのは敷居が高いですから、これにもプラグインを1つ使います。前述した「W4 Post list」というプラグインです。このプラグインはいろいろな条件で簡単にリストが作成でき、ショートコードで簡単に固定ページや投稿にリスト表示できるので大変便利です。
プラグインの新規追加から「W4 Post list」をインストールして有効化します(検索ではすぐにヒットすると思います)
有効化すると管理画面のメニューに「W4 Post list」というのができますので、新規追加(Add New)をクリックします
下の画像のような画面が出てくるのでタイトルの入力と右下の「custom」を選択します。
次に画面左側の「Posts」タブをクリックして、先ほど作ったカスタム投稿タイプのみを選択します(画像は「ニュース」というカスタム投稿タイプを作った場合の例です)
※表示件数などの調整がスクロールしたところでできますので後で調整してくださいね
最後に「Template」タブをクリックし、一覧に表示する内容を作成します(今回はタイトルのみ表示するようにしています)
終わったら画面右の「公開」をクリックすればリスト作成完了です。
※簡単に書いていますので、細かい調整などはこのプラグインの紹介記事
などを参照ください。
「お知らせ」リストを挿入する
リストの作成が終わったらもう完成したも同然!!管理画面から「W4 Post list」をクリックすると、先ほど作成したリストが表示されますので、一覧にあるショートコードをコピーして投稿や固定ページへ貼り付ければ完成です。
あとはCSSで囲み線を付けたりして装飾してくださいね。
おまけ 「お知らせ」の記事にはAdsenseの表示をしない方がいいかも
あまり気にすることはないと思いますが、Google Adsenseはサイトや記事の内容、閲覧した方の履歴やcookieのデータなどを元に広告を表示する「コンテンツ連動型広告」。表示するだけでも微々たる収益があることから最初に始めるアフィリエイトとして使われる方も多いと思います。
ただ広告を配信する側から考えると、お知らせなどおおよそ関連性のない内容に対して広告が表示されてしまうのは広告費用を無駄に使うようなもの。Adsense側も当然それも考慮に入れて広告配信しているはずです。
あくまでも想像ですけどGoogleから見て「広告配信するのが無駄?」と判断されるサイトはやっぱり敬遠されるもの(私が会社経営者
ならそういう判断します)ですよね。大した内容もない「お知らせ」コンテンツならなおさらな話だと思います。
そこで、サイトの品位を守るためにも広告の表示をあえてなくすという処置をした方がいいのでは?と思います。
テーマでこの記事は表示する/表示しないを設定できるものは都度行えばいいとして、そうでない場合には
などを使ってウィジェットを使った広告表示のコントロールを考えることも大切だと思います。
このプラグインはウィジェット1つ1つで表示/非表示をコントロールできるプラグイン。広告表示をしているウィジェットで「お知らせ」の投稿タイプに対して表示しないようにしていけば、より健全なサイトとして認識されるかもしれません。