皆さま引き続きコロナには気をつけてお過ごしください!

【WordPress】カスタム投稿も人気記事一覧に表示させるにはどうする?
実装方法教えます。

人気記事 WordPress


こんにちは、にゃこです。

 

Cocoonをご利用の場合、人気記事の 表示は簡単にできることは以下記事でご紹介させていただきました。

 

Cocoonを使うと、ショートコードを使うだけで、

人気記事一覧を任意の場所で表示させることができました。

 

にゃこ
でも、カスタム投稿は表示されないニャ💦

 

今回は、私が実装じっそうした、カスタム投稿も含めて人気記事一覧を表示する方法をご紹介します。

 

スポンサーリンク

実装方法例

いろんな実装方法があります。

プラグインを使う。

WordPress Popular Postsや、

WordPress Popular Posts

Top 10 – Popular posts plugin for WordPressなどがあります。

Top 10 – Popular posts plugin for WordPress

にゃこ
にゃこ

できる限りプラグインを使わずに実装したいと思っているので、
人気記事一覧を表示するための専用プラグインは試しませんでした。

 

 

Jetpackと既存のウィジェットを使う

Jetpackの設定と既存のウィジェットを使って表示したり、
Jetpackと既存のウィジェットを使って、ショートコードで記事の任意の場所に埋め込む方法です。

にゃこ
にゃこ

既存のウィジェットを使うことで、実装はできました。
ただ、表示させたい場所に入れられるウィジェットはデフォルトでは存在しませんでした。

にゃこ
にゃこ

Jetpackのショートコードを使うことで、記事の任意の場所に入れられるとのことですが、私の理解不足&修行うぎょうsy不足で、残念ながらうまく行かず、何も表示されませんでした…。

 

 

にゃこ
にゃこ

すぐあきらめて他の方法にチャレンジしてしまいましたが、またチャレンジして、方法がわかったら、更新したいと思います。

Jetpackとは、
サイトアクセス数の解析かいせきや、セキュリティ保護、高速化など、様々な便利機能を1つにまとめたプラグインです。
有料版では、さらに自動日次にちじバックアップや自動スキャンなどを行うことができます。
Jetpack

 

Jetpackと自作のウィジェットを使う

Jetpackの設定と、
プラグインなしで自作のウィジェットを作成することで、既存のウィジェットでは表示できない任意の場所に埋め込む方法です。

〈自作のウィジェット作成方法〉

にゃこ
にゃこ

自作のウィジェットは、作れたのですが、
Jetpackのショートコードではうまく表示されませんでした…。

にゃこ
にゃこ

こちらもまたチャレンジして、方法がわかったら、更新したいと思います。

 

スポンサーリンク

当サイトでの実装方法

ここからは、私が実装した方法をご紹介していきたいと思います。

 

実装方法前提

①まず、既存のウィジェットを使って表示した際「Jetpack」は問題なく使えることがわかったので、これはそのまま使うことにしました。

②「Jetpack」の人気記事一覧を表示させるには、ウィジェットを使う必要があります。

 

実装方法概要

■ランキング情報

プラグイン「Jetpack」の情報を使います。

 

■表示位置の設定

ウィジェットを作成し、ランキング情報を入れます。

そのウィジェットを呼び出すショートコードを、表示をさせたい場所に埋め込みます。

プラグイン「amr shortcode any widget」を使います。

amr shortcode any widget

 

実装手順

ランキング情報の取得

Jetpackを導入すると、「人気の投稿とページ」というウィジェットがダッシュボードに表示されます。

この情報を使って、人気記事一覧を作成します。

人気記事と投稿

 

Jetpackの設定手順

①管理画面からJetpackを開く。

②画面右上にある「設定」をクリックする。

タブ切替

③「執筆」をクリックする。

執筆

④下部のウィジェット欄の
「購読フォームや Twitter ストリームなどの追加ウィジェットがサイトで使用可能に」を有効にする。

ウィジェット設定

⑤管理画面から「外観」>「ウィジェット」を開く。

⑥ウィジェットの利用できるウィジェット内にJetpackのウィジェットがいくつか表示されており、
その中に「人気の投稿とページ(Jetpack)」が追加される。

人気の投稿ウィジェット

 

プラグイン「amr shortcode any widget」の導入

「amr shortcode any widget」のインストール&有効化手順

①管理画面からプラグインを開く。

②「新規追加」ボタンをクリックする。

③プラグインの検索欄に「amr shortcode any widget」と書き、Enterキーを押す。

④「amr shortcode any widget」の「今すぐインストール」ボタンをクリックする。

⑤インストール完了後表示される「有効化」ボタンをクリックする。

⑥管理画面から「外観」>「ウィジェット」を開く。

⑦ウィジェットの表示位置の欄に「Widgets for Shortcodes」が追加される。

Widgets for Shortcodes

 

ウィジェットの設定

「人気の投稿とページ(Jetpack)」のウィジェットを、「Widgets for Shortcodes」に埋め込みます。

ウィジェットの設定手順

①管理画面から「外観」>「ウィジェット」を開く。

②ウィジェットの利用できるウィジェット内の「人気の投稿とページ(Jetpack)」の▼をクリックする。

③ウィジェットを追加する位置として「Widgets for Shortcodes」を選択し、
「ウィジェットを追加」ボタンをクリックする。

ウィジェット位置設定

④ウィジェットの表示内容、表示方法を設定し、「保存」ボタンをクリックする。
※⑦は保存後、設定可能になる。

表示設定

項目 設定内容
①タイトル ウィジェットの上部に表示するタイトル
②表示する投稿の上限数 表示する記事数(1~10まで指定可能)
③表示するページの種類 ウィジェットに表示させたい記事のチェックをONにする。
④表示形式 表示させる方法を選択する。

表示形式 説明
テキストリスト 画僧を表示させず、記事のタイトルのみ表示する。
画像リスト サムネイル画像と記事のタイトルを横並びで表示させる。
画像グリッド サムネイル画像のみ表示し、画像上でマウスオーバーすると、記事のタイトルが表示させる。
⑤表示設定 ウィジェットを表示させるページの調整をしたい場合にクリックする。
⑥ウィジェットの表示 ウィジェットの表示対象を指定する。

項目 説明
チェック・入力したページで表示 表示させたいページを指定する場合に選択する。
チェック・入力したページで非表示 表示させたくないページを指定する場合に選択する。
⑦チェック・入力したページで表示/非表示 ⑥設定内容に合わせ、カテゴリーやページ、記事のID等で指定する。

⑤①~⑥の設定保存後、表示/非表示にするカテゴリーやページ、記事IDを指定し、「保存」ボタンをクリックする。

表示非表示対象指定

⑥「To use as shortcode with id:」後ろに表示されたショートコードをコピーする。

ショートコード取得

 

記事の編集

人気記事一覧を表示させたい記事にコピーしたショートコードを埋め込みます。

記事の編集手順

①人気記事一覧を表示させたい記事の編集画面を開く。

②コピーしたショートコードを表示させたい任意の位置に入力する。

[do_widget id=<ウィジェットID>]

上記では以下のように表示されます。 (これからご紹介するカスタマイズは反映されています)

表示結果

 

スポンサーリンク

当サイトでのカスタマイズ方法

ここからは、私が行ったカスタマイズの方法をご紹介していきます。

 

ウィジェットのタイトル非表示

ウィジェットデフォルトのタイトルは、左寄せのテキスト、見出し2で表示されます。

既にほかで利用している表記方法を利用するため、タイトルは非表示にしました。

この場合、title=falseをショートコード内に追記します。

[do_widget title=false id=<ウィジェットID>]

上記では以下のように、先ほどは表示されていた「人気記事一覧」の文言が表示されません。
(これからご紹介するカスタマイズは反映されています)

タイトル非表示

 

サムネイル画像変更

画像リスト、または画像グリッドを選択した場合、サムネイル画像が表示されます。

デフォルトでは、サムネイル画像は40×40の正方形で、小さいです。

サイズを変更したいと思います。

※長方形に変更する方法は少し探した限りでは見つかっていません…。

 

変更箇所

以下2つのファイルを編集する必要があります。

  • functions.php
  • CSS
にゃこ
にゃこ

functions.phpを編集するため、事前にバックアップを取りましょう。

functions.phpの編集

以下手順で編集します。

functions.php編集手順

①管理画面から「外観」>「テーマエディター」を開く。

②「編集するテーマを選択」箇所が現在利用中のテーマであることを確認し、
「テーマのための関数 (functions.php)」をクリックする。

③以下コードを追記する。
※サイズの単位は「px」です。pxを記入する必要はありません。

// 引数に指定したイメージのサイズを変更する関数
function jeherve_custom_thumb_size( $get_image_options ) {
        // サイズを指定して変更
        $get_image_options['avatar_size'] = <任意のサイズを数字で記入>;
        // 変更した結果を返す 
        return $get_image_options;
}
// Jetpackのウィジェットのサムネイルサイズを変更するフックが呼び出されたときに、当関数を呼び出す。
add_filter( 'jetpack_top_posts_widget_image_options', 'jeherve_custom_thumb_size' );

④「ファイルを更新」ボタンをクリックする。

 

CSSの編集

以下手順で編集します。

CSS編集手順

①管理画面から「外観」>「テーマエディター」を開く。

②「編集するテーマを選択」箇所が現在利用中のテーマであることを確認し、
「スタイルシート (style.css)」をクリックする。

③以下コードを追記する。

/* ランキング表示 */
.widgets-list-layout .widgets-list-layout-blavatar {
    max-width: <任意のサイズを数字で記入>px!important;
    width: 100%!important;
    margin: 2px 8px 2px 0;
    padding: 3px 1px 3px 0;
}

④「ファイルを更新」ボタンをクリックする。

 

投稿日表示設定

デフォルトでは、各記事の投稿日は表示されません。

表示する方法は以下の通りです。

投稿日表示手順

①管理画面から「外観」>「テーマエディター」を開く。

②「編集するテーマを選択」箇所が現在利用中のテーマであることを確認し、
「テーマのための関数 (functions.php)」をクリックする。

③以下コードを追記する。 ※「〈〉」は全角で書いてありますので、半角に変えてください。

// 表示する記事のIDを引数として設定
function jetpackme_add_date_top_posts( $post_id ) {
        $post_date = get_post_time(
                // WordPressの日付設定のフォーマット情報を取得し、設定
                get_option( 'date_format' ),
                // グリニッジ標準時で日付設定
                true,
                // 投稿記事のIDを設定
                $post_id,
                // 日付の文字列の翻訳
                true
        );
        // 右寄せで時間を表示するHTMLコードを出力。
        printf( '<div class="top_posts_date" style="text-align:right;">%s</div>', $post_date );
}
add_action( 'jetpack_widget_top_posts_after_post', 'jetpackme_add_date_top_posts' );

④「ファイルを更新」ボタンをクリックする。

下記のように日付が表示されます。

フォントサイズ大

詳細はJetpackのブログに掲載されていますので、下記をご確認ください。

 

投稿日文字サイズ変更

投稿日の文字のサイズを変えたいと思います。

変更する方法は以下の通りです。

投稿日文字サイズ変更手順

①管理画面から「外観」>「テーマエディター」を開く。

②「編集するテーマを選択」箇所が現在利用中のテーマであることを確認し、
「スタイルシート (style.css)」をクリックする。

③以下コードを追記する。

/* 投稿日の日付サイズ */
.top_posts_date {
font-size: 0.6em; /* デフォルトの文字サイズに対する割合等で設定 */
}

④「ファイルを更新」ボタンをクリックする。

時刻表示

 

投稿日前のアイコン表示設定

表示設定した投稿日の前にを表示したいと思います。

投稿日表示手順

①管理画面から「外観」>「テーマエディター」を開く。

②「編集するテーマを選択」箇所が現在利用中のテーマであることを確認し、
「スタイルシート (style.css)」をクリックする。

③以下コードを追記する。

/*人気記事の投稿日のアイコン表示*/
.top_posts_date::before{ 
font-family: "FontAwesome"; /*FontAwesomeのバージョンによって書き方が異なります。*/
content: "\f017"; /*fa-clockアイコン*/
padding-right: 4px; /*右余白*/
font-weight: 400; /*アイコンの太さ*/
}

④「ファイルを更新」ボタンをクリックする。

下記のように表示されます。

日付記号表示

アイコンがうまく表示されず、□になってしまう場合、
font-familyの設定が違う可能性があります。
バージョンが5の場合、”FontAwesome 5 Free”と書きます。

 

記事タイトルの表示変更

デフォルトでは、サムネイル画像と、タイトルとがくっついて表示されます。

少し離したい場合などは下記のように設定します。

記事タイトルの表示変更手順

①管理画面から「外観」>「テーマエディター」を開く。

②「編集するテーマを選択」箇所が現在利用中のテーマであることを確認し、
「スタイルシート (style.css)」をクリックする。

③以下コードを追記する。

/* タイトルの表示の高さ等変更 */
.widgets-list-layout-links{
   margin-top: 2px; /* 上部からの距離 */
   font-size: 0.85em; /* 文字の大きさ */
   line-height: 1.3; /* 行高 */ 
   float: none!important;
   width: auto!important;
}

④「ファイルを更新」ボタンをクリックする。

下記のように表示されます。

間隔あり

 

記事タイトル(リンク)の下線非表示等設定

デフォルトでは、リンクはWordPressの設定に合わせ、青文字、下線付きで表示されます。

文字を黒、下線なしにしたい場合は以下のようにします。

記事タイトルの下線非表示等変更手順

①管理画面から「外観」>「テーマエディター」を開く。

②「編集するテーマを選択」箇所が現在利用中のテーマであることを確認し、
「スタイルシート (style.css)」をクリックする。

③以下コードを追記する。

/* リンク下線の非表示等 */
.widgets-list-layout-links a{
padding: 7.2px;  /* リンク周辺の空白 */
color: #333; /* 文字色 */
text-decoration: none; /* 下線なし */
}

④「ファイルを更新」ボタンをクリックする。

 

 

記事間の区切り線表示

デフォルトでは、記事を区切る上下線はありません。

表示させるには以下のようにします。

区切り線表示手順

①管理画面から「外観」>「テーマエディター」を開く。

②「編集するテーマを選択」箇所が現在利用中のテーマであることを確認し、
「スタイルシート (style.css)」をクリックする。

③以下コードを追記する。

.custom_sc ul li:after {
content: "";
border-bottom: solid 1px #cddee0!important; /* 区切り線の太さや線の種類、色 */
width: 100%;
height: 10px;
}

④「ファイルを更新」ボタンをクリックする。

下記のように表示されます。

区切り線

 

スポンサーリンク

まとめ

できましたでしょうか?

今回のカスタマイズは、Cocoonの新着記事一覧の表示に合わせてみました。

人気記事一覧表示結果

サムネイル画像が正方形だったり、

最終行の下にも区切り線が入ってしまっている以外は、大差ないのではないでしょうか?

 

みなさんも、表示させたい結果をイメージし、それに合うように、CSS等でカスタマイズしてみてくださいね✨

タイトルとURLをコピーしました