サムネイルつきでアクセス数の多い記事を表示できる WordPress Popular Posts を導入してみた

Popular Postsというプラグインもあるけどwp-super-cacheと相性が悪い(キャッシュページ表示時にカウントされない)ので使えなかった。 » Google Analytics Popular Posts Yaima surfというものもあったけど今回はやめといた。 そういうことで WordPress Populer Posts というものを試してみることにした

いちおう普通にアイキャッチ画像をサムネイルに使う人のために

ウィジェットは特に説明しなくても見れば分かると思いますが、記事の下などにWordpless Populer Postsにアイキャッチ画像を表示させたい場合は以下のように記述する

<?php
get_mostpopular(
  'thumbnail_width=50&thumbnail_height=50&thumbnail_selection=usergenerated');
?>

ポイントは

  • thumbnail_width = ***
  • thumbnail_height = ***
  • thumbnail_selection = usergenerated

の3点を記述することです。このように書くとサムネイル画像にアイキャッチ画像がつかわれます。

その他、細かい設定はプラグインの説明画面を見ればだいたい分かります。英語ですけどまぁたぶん雰囲気で分かります。

参考リンク

カスタマイズのメモ

以下、自分用のメモです。

single.php にWordPress Populer Posts を表示する

記事下に以下のコードを入れた

<div class="segmented-posts">
<?php get_mostpopular('range=monthly&limit=7&order_by=views&stats_comments=0&stats_views=1'); ?>

wp-admin/admin-ajax.php

私はセキュリティー対策のため wp-admin フォルダはアクセス制限してるけど、このプラグインは wp-admin/admin-ajax.php に Javascript からアクセスするので、この部分だけ許可した

# wp-admin/.htaccess

### ~中略~ ###

<Files ~ "^admin\-ajax\.php$">
    Satisfy Any
    allow from all
</Files>

wp-admin/.htaccess の最後のあたりに上記コードをいれればOK

view(s) ってなんか変! views に変えた

プラグインの wordpress-populer-posts.php の中の view(s) を views に置き換えるだけでOK

プラグインの CSS を読み込まないようにする

プラグインのCSSは読み込みたくなかったので消した。wordpress-populer-posts.php の中にある以下のソースの部分をコメントアウト or デリートすればOK

add_action('wp_head', array(&$this, 'wpp_print_stylesheet'));

カスタムフィールドから画像を読み込むようにする

「アイキャッチ使えよ」っていう天の声が聴こえたけど我が道をゆく。

wordpress-populer-posts の中身から以下のようなソースコードを探す

// build custom layout
/* 中略 */
$content .=
  htmlspecialchars_decode($instance['markup']['post-start'], ENT_QUOTES)
  . $thumb
  . '<a href="'
  . get_permalink($wppost->ID)
  . '" title="'
  . $title_attr
  . '"><span class="wpp-post-title">'
  . $tit
  . '</span></a>'
  . $post_content
  . ' '
  . $stats
  . $rating
  . htmlspecialchars_decode($instance['markup']['post-end'], ENT_QUOTES)
  . "\n";

このソースを以下のように変更して、カスタムフィールドから画像URLを取得するようにした

$content .=
  '<li><a rel="nofollow" href="'
  . get_permalink($wppost->ID)
  . '" title="'
  . $title_attr
  . '"><img src="'
  . get_post_meta($wppost->ID, "カスタムフィールドのキー", true)
  . '" />'
  . $tit
  . '</a>'
  . $post_content
  . ' '
  . $stats
  . $rating
  . '</li>';
Share