WoedPress プラグイン WP-PostRatingsをテーマ内にウィジェット実装

『WP-PostRatings』は非常によく利用されている投稿記事の評価ができるプラグインです。

よく見られる星のアイコンをクリックすることによって記事評価が可能なものですが、評価結果は個別、又は同時に表示することが可能です。
また、こちらも良く利用されているプラグイン『WordPress Popular Posts』との連動も可能です。(WordPress Popular Posts側から連動しているのですが)
ちなみに『WordPress Popular Posts』は見られたページを記録してそのランキングを表示するものです。

今回、やりたかったことはプラグイン『BuddyPress』とBuddyPress用プラグイン『 BP Portfolio』によって作成されたポートフォリオページの評価とその評価結果表示です。

『WP-PostRatings』の詳しい説明は省きますが、投票機能を実装するためにはプラグインをインストールした後に先ずはテンプレートファイル(archive.php, single.php, post.php or page.php 等)の <?php while (have_posts()) : the_post(); ?> 直下に<?php if(function_exists(‘the_ratings’)) { the_ratings(); } ?>を記述する必要があります。

投票機能のためのphp埋め込みは簡単だったのですが、結果表示でつまずきました。
投票結果のサイドバー等への表示はウィジェットが用意されているので簡単ですが、ページへの表示はテンプレートファイルへの記述が必要です。

テンプレートへの記述は以下のソースで可能ですが、これでは全ての投票結果が表示されてしまうのです。

 

<?php if (function_exists(‘get_highest_rated’)): ?>


<ul>
<?php get_highest_rated(); ?>
</ul>

<?php endif; ?>

 

当初、簡単と思ったこの作業ですが、『WP-PostRatings』の評価結果は投稿記事や固定ページの設定は可能ですが、ポートフォリオ単独で表示するパラメーターを用意しておりません。

少し絶望的になりながら、ぼんやりとウィジェットの設定項目を見ていると、『Include Ratings From:』にBp_project Onlyという項目があるではないですか!

 

P-PostRatingsに関して詳しく書かれたサイトはあるのですが、この項目でBp_project Onlyについて書かれていたサイトはありませんでした。最近のバージョンで実装されたのでしょうか。
試しにサイドバーにウィジェットを設定してみると見事に表示されます!
ともあれ作者に連絡して、テンプレートに指定する際のパラメータを聞けばOKとフォーラムで尋ねてみると・・・『BuddyPressは使っていないので分らない。』とのことでした。。?

何故だ!! と嘆いても仕方無いので、次に試したのが『ウィジェット表示は可能なので、ウィジット表示領域をテンプレートに記述してその場所にウィジェットとして表示する』でした。
その方法としては以下です。

functions.php以下記述。

register_sidebar(array(
'name'=&gt;'header' ,
'id'=&gt;'my_header' ,
'before_widget'=&gt;'&lt;div class="widget"&gt;',
'after_widget'=&gt;'&lt;/div&gt;',
'before_title'=&gt;'&lt;h3&gt;',
'after_title'=&gt;'&lt;/h3&gt;'
));

 

表示させたいテンプレート、例えばpage.phpに以下記述

<?php dynamic_sidebar('header'); ?>
そうすれば、
そうすればウィジェットに設定対象の領域が表示されるので、そちらにP-PostRatingsのウィジェットをドラッグドロップして設定すればOK!
なんとか、めでたしめでたしということで、覚書です。

おすすめ