8wired

とりあえずやってみるブログ

STINGER5で関連記事の精度を上げる

2016/06/14

 STINGER5は、動作が軽く、必要な機能が一通り組み込まれ、SEOにも効果的として評判のSTRINGER3の後継で、レスポンシブでHTML5に対応した無料で使えるWordpressのテンプレートです。

 STINGER5には標準で関連記事を表示する機能が実装されていますが、この機能は同一カテゴリから記事をピックアップしてくるものなので、精度を上げるためにSimilar Postsを利用することにしました。

スポンサードリンク

STINGER5でSimilar Postsを利用する

 Similar Postsは、カテゴリ、タグ、キーワードなどを加味して関連した記事を表示してくれる便利なプラグインです。YARPPWordPress Related Postsなど同じ機能をもつ新しいプラグインもありますが、大きなトラブルもなくやりたいことが簡単にできるので引き続き利用しています。

 導入にはSimilar Postsの他にPost-Plugin Libraryが必要になるので忘れないようにインストールしてください。

Similar Postsの設定

 参考までにSimilar Postsの設定を載せておきますが、Output Settings、Placement Settings以外の項目はSTINGER5で利用するのに関係がないので各自の好みに応じて変更してください。

■ General Settings

 Number of posts to show: 5
 Omit the current post? Yes
 Match the current post's category? Yes
 Match the current post's tags? No
 Match the current post's author? No

■ Output Settings

 任意の場所にSimilar Postsを表示したいのでOutput Settingsで出力フォーマットの設定を行います。

stinger5-similar-posts

 コピペ用にOutput Template部分を貼っておきます。no-imageの保存先、抜粋の文字数({snippet:50})は任意で変更してください。

<dl class="clearfix"><dt><a href="{url}">{php: if(has_post_thumbnail({postid})) echo get_the_post_thumbnail({postid},thumbnail); else echo '<img src="/wp-content/themes/stinger5ver20141011/images/no-img.png" />';}</a></dt><dd><h5><a href="{url}">{title}</a></h5><p>{snippet:50}...</p></dd></dl>

■ Placement Settings

 ActivateがYesになっている箇所では自動的に表示されます。今回は任意の場所に表示するのですべてNoに設定します。

■ Other Settings

 Relative importance ofの項目は、タグのウェイトを高めたいのでcontent:70%、title:10%、tags:20%で設定しています。好みに応じて変更してください。

■ Manage Index

 インデックスの設定は、拡張文字、日本語などに対応するよう設定します。

 Handle extended characters? Yes
 Treat as Chinese, Korean, or Japanese? Yes
 Treat Related Word Variations: Strictly
 Batch size: 100

テンプレートの設定

 Similar Postsの呼び出しの設定を行います。単一記事のテンプレートsingle.phpで関連記事の表示部分get_template_part('kanren')からSimilar Postsに変更します。

<!--関連記事-->
<h4 class="point"><i class="fa fa-th-list"></i>&nbsp;  関連記事</h4>
<?php if(function_exists('similar_posts')) similar_posts(); ?>
<?php if( comments_open() || get_comments_number() ){
comments_template(); } ?>
<!--ページナビ-->

以上で設定は完了です。

-WordPress
-,