yarpp_related()のパラメータで指定した関連記事を出力|YARPP
WordPressのプラグイン『Yet Another Related Posts Plugin(以後、YARPPと表記)』では、現在の投稿や固定ページなどで、そのページに関連する記事を取得し表示することが出来ます。
YARPPでは、決まった場所に関連記事を自動で表示できますが、プラグインの関数、yarpp_related()を使用すれば、任意の場所に関連記事を表示することもできます。
今回は、そのyarpp_related関数を使用しクエリを変更して、表示する関連記事のデータをカスタマイズする例となります。
yarpp_related関数について
yarpp_related関数は、関連記事を表示させたい場所に記述します。関数のパラメータを指定すると、クエリを変更し、指定した条件の関連記事を表示することができます。
yarpp_related関数のパラメータを指定し、関連記事を表示する例としては、関連記事を2ヵ所以上に表示する際に、それぞれ違う条件やテンプレートで表示させたい場合などがあります。
yarpp_related()の主なパラメータ
今回の例では、パラメータを項目ごとに分けて指定しましたが、実際に指定する際には、表示させたい条件のパラメータを同じ配列で指定します。
パラメータを指定しない場合は、WordPress管理画面のYARPPの設定で指定した条件によって、関連記事が表示されます。
表示順序やテンプレートを指定する例
表示順序やテンプレートを指定するパラメータの例です。
<?php
$args = array(
// 関連記事を表示する最大件数
'limit' => 5,
// ソート順を指定。 ソート順の対象と昇降順(ASCかDESC)を指定
'order' => 'score DESC'
// 使用するテンプレートの名前を指定
'template' => 'yarpp-template.php',
);
yarpp_related($args);
?>
関連記事として表示させる記事を指定する例
関連記事として表示させる記事を指定するパラメータの例です。
<?php
$args = array(
// 指定したページのタイプを取得。post、pageなど
'post_type' => array('post', 'page'),
// 指定したタクソノミー・タームのIDのを持つ投稿を除外
'exclude' => array(),
// 指定した期間までの過去記事のみ取得。
// 期間を指定しない場合はfalse、指定する場合は、'15 day', '20 week', '12 month' など、期間を指定
'recent' => false,
);
yarpp_related($args);
?>
記事の関連スコアなどを指定する例
記事の関連スコアなどを指定するパラメータの例です。プラグイン『YARPP』では、記事の関連スコアを計算し、指定した関連スコア以上の記事だけを表示します。
<?php
$args = array(
// 指定した関連スコア以上を表示
'threshold' => 1,
// 関連スコアを計算する際に重要視する要素のレベルを指定。数字が大きいほど重要視
'weight' => array(
'title' => 2, //タイトル
'body' => 2, //本文
'tax' => array( //タクソノミーの指定
'post_tag' => 1,
'category' => 1,
)
),、
// 関連投稿に表示する条件として、
// 指定したタクソノミーを指定した数以上、共通で持つ投稿にする。
'require_tax' => array(
'post_tag' => 1
),
);
yarpp_related($args);
?>
関数yarpp_related()のパラメータなど、プラグイン『YARPP』の詳細は、以下のスライドや参考サイトを確認してみてください。
- Yet Another Related Posts Plugin (YARPP) 「Can I customize how YARPP displays?」— WordPress プラグイン
- Relate all the things! P31