【コピペ】WordPress、プラグインなしで、関連記事を同じカテゴリーか、指定したカテゴリーで作成する方法の解説です。
【クライアント対応した実例】
必要性としては、
- 同じカテゴリーの記事を関連記事として表示したい
- プラグインは使用しない
- ブログページをリリースしたばかりで記事が少ない
- 同じカテゴリーだけでなく、1つ上の階層カテゴリー全体から関連記事を表示したい
用途としては、
- 記事と同じカテゴリーの記事を表示したい
- 記事と1つ上の階層のカテゴリーの記事を表示したい
などでクライアント対応した実例です。
メリットは
- 記事と同じカテゴリーの記事を表示をプラグインなしで表示できる
- コードを貼るだけ
- 表示したいカテゴリーはコードを数行書き換えるだけで切り替えられる
などでクライアント対応した実例です。
Web365とは
本題のまえに、自己紹介です。
クライアントの外部・外注のWeb担当としてWebサイトを集客売上増を目的に、分析・改善・実行まで一貫体制で運用代行しております。
この記事でわかること
仕様イメージ
下記のイメージです。
1つ上の階層カテゴリーに含むカテゴリーは、2で対応します。
- 同じカテゴリーの記事をランダムで表示したい
- 指定したカテゴリーの記事をランダムで表示したい
【コード 】同じカテゴリーの関連記事を表示
コードは、の紹介です。
コードを書く場所
記事を表示するファイル(通常、single.php)の記事終わりの任意の箇所です。
コード
<?php
$categories = get_the_category($post->ID);
$category_ID = array();
foreach($categories as $category):
array_push( $category_ID, $category -> cat_ID);
endforeach ;
$args = array(
// 今読んでいる記事を除く
'post__not_in' => array($post -> ID),
// 記事表示数
'posts_per_page'=> 4,
// 記事のカテゴリー同じカテゴリー
'category__in' => $category_ID,
// 指定したカテゴリーのIDを複数いれる。ここでは27-33
// 'cat' => array(27,28,29,30,31,32,33),
// ランダムに記事を選ぶ
'orderby' => 'rand',
);
$query = new WP_Query($args);
if( $query -> have_posts() ):
while ($query -> have_posts()) :
$query -> the_post();
get_template_part('記事表示のレイアウトなどのテンプレートファイル名');
endwhile;
endif;
?>
<?php wp_reset_postdata(); ?>
【コード 】指定したカテゴリーの関連記事を表示
先のコードと同じですが、
'category__in' => $category_ID,
をコメントアウトをする
// 'cat' => array(27,28,29,30,31,32,33),
を<コメントアウトを外す
で対応します。
コード
<?php
$categories = get_the_category($post->ID);
$category_ID = array();
foreach($categories as $category):
array_push( $category_ID, $category -> cat_ID);
endforeach ;
$args = array(
// 今読んでいる記事を除く
'post__not_in' => array($post -> ID),
// 記事表示数
'posts_per_page'=> 4,
// 記事のカテゴリー同じカテゴリー
// 'category__in' => $category_ID,
// 指定したカテゴリーのIDを複数いれる。ここでは27-33
'cat' => array(27,28,29,30,31,32,33),
// ランダムに記事を選ぶ
'orderby' => 'rand',
);
$query = new WP_Query($args);
if( $query -> have_posts() ):
while ($query -> have_posts()) :
$query -> the_post();
get_template_part('記事表示のレイアウトなどのテンプレートファイル名');
endwhile;
endif;
?>
<?php wp_reset_postdata(); ?>
以上です。
ご活用ください。
■お気軽にご相談ください
Webサイトをより多くの方に認知してもらうために、継続的な改善は大切です。
Webサイトの細かい改善は担当をつけて、継続的に対応することをおすすめします。
Webサイトの分析提案や改善実行など相談したい方はこちらよりお気軽にご連絡ください。
Web制作+Webマーケティングの個別講座開講中
Web365はWeb担当者のスキルセットである
サイトを変更する「提案力」と「技術力」について個別指導しております
・Webで集客するための「考え方」を知りたい方
・サイトの制作改善のセオリーを知りたい方
・自身のサイトでケーススタディをしたい方
・サイトの制作改善の「技術的なスキル」を習得したい方
・分析から改善運用まで自身でしたい方
・Googleアナリティクスの設定、分析から改善施策の立案、レポート作成まで自身でしたい方
どうぞWeb365の「Webサイト制作、Webマーケティングの知識スキル習得するためのオーダーメイド個別講座」をご覧ください。
外注のWeb担当者として「制作」と「マーケティング」で単発/継続でサポートします。
Web365は貴社のWeb担当者として、制作改善運用をワンストップサポートしています
・成果にこだわるサイト制作改善をお望みの方
・自社にとって最適なweb制作会社、コンサル会社がいないとお困りの方
・分析から改善運用まで一括で依頼したい方
是非Web365までご相談ください。
【パートナー募集】
Web制作、Webコンサル、広告代理店、フリーランスの方々へのWeb改善プランの提供
Web365は同業他社/フリーランスの方々にも当方のWeb改善プランを提供し、クライアントサイトの改善プランのサポートや社内担当者へのレクチャーをサポートしています
・クライアントへのWebマーケティング、Web改善のプラン検討している方
・社内のWebマーケティングのリテラシーを高めたい方
・分析から改善運用まで一括でサポート依頼したい方
Web365は同業他社/フリーランスの方々にも当方のWeb改善プランを提供し、クライアントサイトの改善プランのサポートや社内担当者へのレクチャーをサポートしています
・クライアントへのWebマーケティング提案がしたいプラン作成をサポート
・クライアントへのWeb改善プラン実行のディレクションサポート
・社内のGoogleアナリティクスなどのレクチャー
・クライアントへのサイト分析から改善運用企画のアドバイザリーサポート
・Web系フリーランスへのWeb改善プランの提案企画書の作成サポート
・クライアントへのWeb広告運用代行
・クライアントへの計測ツール設定代行(Googleアナリティクス、eコマース、ヒートマップClarityなど)
まずは、お気軽にMTGでれきばと思いますので、Web365までご相談ください。