今、ブログを始めようとしている方、
今なら、ConoHaサーバーの「WINGパックプラン」が最大55%OFF!
「1,452円/月」が「643 円/月」の「低コスト」で始められるチャンスとなっております!
お申し込みはこちらから!
ConoHa WINGは国内最速の高性能レンタルサーバーサービスで
初期費用無料、最低利用期間無しでご利用いただけます!
(この記事は2021年12月6日に投稿されました。)
WordPressのPz-LinkCardでリンクカードを表示することができ、内部リンクを繋げるために使用されます。
しかし、Pz-LinkCardで作成したリンクカードは、1つの記事だけでなく、カテゴリー別にまとめて表示することもできます。
カテゴリー別にまとめて表示することで、カテゴリー別に分けた新着記事をTOPページに表示させたり、人気記事としてサイドバーに表示することができるのでサイトをよりおしゃれにすることができます。
しかし、人気記事はユーザーに判断してもらう必要があるため、「WP-PostViews」というプラグインを使用する必要があります。
完全コピペではできませんが、値を変更すると初心者でも使用することができるので、ぜひ参考にしてみてください。
今回はWordPressのPz-LinkCardでカテゴリー別にリンクカードとして表示する方法について紹介していきます。
・リンクカードをカテゴリーに分けて表示したい人
Pz-LinkCardとは
Pz-LinkCardとは記事をリンクカード形式で表示できるWordPressのプラグインとなります。
ショートコードとURLを設定することで、記事をリンクカード化して表示することができます。
もし、Pz-LinkCardとについて詳しく知りたい場合はこちらの記事をご参考ください。
Pz-LinkCardでカテゴリー別にリンクカードとして表示する方法
ここでは、Pz-LinkCardでカテゴリー別にリンクカードとして表示する方法についてご紹介していきます。
コピペをして少し変更すると、初心者でも使用することができるようになっています。
Pz-LinkCardをインストール
まずは、リンクカードを使用できるよう、Pz-LinkCardをインストールしましょう。
インストールの方法につきましても下記の記事でご紹介しています。
(クリックすると記載箇所に飛べます。)
インストールの完了後に、[有効化]をクリックすると準備は完了です。
リンクカードを設置したい場所に下記のコードを入力
Pz-LinkCardをインストールできましたらリンクカードを設置したい場所に下記のコードを入力していきます。
今回は、試しにfront-page.phpに「球技」と「武道」のカテゴリーに属している記事をリンクカードで表示してみます。
■ front-page.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <div class= "allcard"> <div class= "kyugi-link card"> <?php $cat_posts = get_posts(array( 'post_type' => 'post', // 投稿タイプ 'category_name' => 'kyugi', // スラッグ名 'posts_per_page' => 5, // 表示件数 )); global $post; if($cat_posts): foreach($cat_posts as $post): setup_postdata($post); $url = get_permalink(); $linkurl = '[blogcard url="'.$url.'"]'; // Pz-LinkCardのショートコード echo do_shortcode($linkurl); endforeach; endif; wp_reset_postdata(); ?> </div> <div class= "budo-link card"> <?php $cat_posts = get_posts(array( 'post_type' => 'post', // 投稿タイプ 'category_name' => 'budo', // スラッグ名 'posts_per_page' => 5, // 表示件数 )); global $post; if($cat_posts): foreach($cat_posts as $post): setup_postdata($post); $url = get_permalink(); $linkurl = '[blogcard url="'.$url.'"]'; // Pz-LinkCardのショートコード echo do_shortcode($linkurl); endforeach; endif; wp_reset_postdata(); ?> </div> </div> |
実行結果
球技と武道の記事がリンクカードとして表示されています。
表示されている順番は日時が新しい順に表示されています。
- get_posts()で取得したい記事のカテゴリーや表示件数などを配列で指定
- foreach文の中にget_permalink()を使用してget_posts()で指定した記事のURLを取得している
- Pz-LinkCardのショートコードにURLを指定してリンクカードを表示している
カテゴリー別に記事がリンクカードとして表示されています。
これは、TOPページにカテゴリー別の新着記事として表示する際に使用できそうですね。
Pz-LinkCardのリンクカードの並び方を人気順で表示する方法
先ほどは、Pz-LinkCardで記事をカテゴリー別にリンクカードとして表示してみましたが、並び方を人気順で表示することもできます。
しかし、人気順はブログ作成者ではなく、ユーザーが決めるため、「人気順 = 閲覧数」が人気記事の基準となります。
そのため、「WP-PostViews」という閲覧数を確認できるプラグインを使用することで、記事を人気順に並び替えるようにします。
こちらも、コピペをして少し変更すると、初心者でも使用することができるようになっています。
試しにサイドバーに各カテゴリーに属している記事を人気順にリンクカードとして表示してみます。
■ sidebar.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | <?php if(is_category('sports')) { ?> <div class= "sports-link card"> <?php $cat_posts = get_posts(array( 'post_type' => 'post', // 投稿タイプ 'category_name' => 'sports', // スラッグ名 'posts_per_page' => 5, // 表示件数 'meta_key' => 'views', 'orderby' => 'meta_value_num', //閲覧数が多い順に並び替え )); global $post; if($cat_posts): foreach($cat_posts as $post): setup_postdata($post); $url = get_permalink(); $linkurl = '[blogcard url="'.$url.'"]'; // Pz-LinkCardのショートコード echo do_shortcode($linkurl); endforeach; endif; wp_reset_postdata(); ?> </div> <?php } ?> <?php if(!(is_category('sports'))) { ?> <?php if(in_category('kyugi')) { ?> <div class= "kyugi-link card"> <?php $cat_posts = get_posts(array( 'post_type' => 'post', // 投稿タイプ 'category_name' => 'kyugi', // スラッグ名 'posts_per_page' => 5, // 表示件数 'meta_key' => 'views', 'orderby' => 'meta_value_num', //閲覧数が多い順に並び替え )); global $post; if($cat_posts): foreach($cat_posts as $post): setup_postdata($post); $url = get_permalink(); $linkurl = '[blogcard url="'.$url.'"]'; // Pz-LinkCardのショートコード echo do_shortcode($linkurl); endforeach; endif; wp_reset_postdata(); ?> </div> <?php } ?> <?php if(in_category('budo')) { ?> <div class= "budo-link card"> <?php $cat_posts = get_posts(array( 'post_type' => 'post', // 投稿タイプ 'category_name' => 'budo', // スラッグ名 'posts_per_page' => 5, // 表示件数 'meta_key' => 'views', 'orderby' => 'meta_value_num', //閲覧数が多い順に並び替え )); global $post; if($cat_posts): foreach($cat_posts as $post): setup_postdata($post); $url = get_permalink(); $linkurl = '[blogcard url="'.$url.'"]'; // Pz-LinkCardのショートコード echo do_shortcode($linkurl); endforeach; endif; wp_reset_postdata() ?> </div> <?php } ?> <?php } ?> ?> |
⚫︎実行結果(「スポーツ一覧」のカテゴリーページ)
⚫︎実行結果(「球技」のカテゴリーページ)
⚫︎実行結果(「武道」のカテゴリーページ)
「スポーツ一覧」のページにはスポーツ一覧に属している記事が、「球技」のページには球技に属している記事が、「武道」のページには武道に属している記事がリンクカードとして人気順で表示されています。
- is_category(‘sports’)で指定したカテゴーリページのみに処理される内容を記述
(今回は「スポーツ一覧」が親カテゴリーのためスポーツ一覧のカテゴリーページにリンクカードを表示するようにしている) - if(!(is_category(sports)))で指定したカテゴリー以外のぺージで処理される内容を記述
(①でスポーツ一覧のカテゴリーページだけ表示されるリンクカードを表示しているため、②以降の処理は対象外にしている) - in_category(‘スラッグ名’)で指定したカテゴリーを含むカテゴリページと投稿記事ページで処理される内容を記述
(今回は「球技」や「武道」のカテゴリーページや属している投稿記事ページにリンクカードを表示するようにしている)
リンクカードの並び方を人気順として表示されています。
これは、カテゴリページや投稿記事を表示した時に、各カテゴリーに属している記事が人気順で表示されますので、カテゴリーが多いサイトで使用できそうですね。
まとめ
⚫︎ Pz-LinkCardとは記事をリンクカード形式で表示できるWordPressのプラグイン
⚫︎ Pz-LinkCardでカテゴリー別にリンクカードとして表示するには下記ののようにコードを記述する
・get_posts()で取得したい記事のカテゴリーや表示件数などを配列で指定
・foreach文の中にget_permalink()を使用してget_posts()で指定した記事のURLを取得
・foreach文の中にPz-LinkCardのショートコードにURLを指定してリンクカードを表示
⚫︎ Pz-LinkCardのリンクカードの並び方を人気順で表示するには「WP-PostViews」というプラグインを使用する