嵯峨雅彦 Masahiko Saga Web Site

嵯峨雅彦 デジタルアート・イラストレーターのポートフォリオサイト

Masahiko Saga Weblog

WORDPRESSでブログ開設して約半年、PHPもSQLも全然分からないまま、様子を見つつ何とかやってきましたが、その間いくつかプラグインを入れたので覚書と、僕みたいにあまり詳しくない人向けのちょっとしたトラブルシューティングのためにまとめておきます。

Akismet

多分WPを使っている方ならほぼ全員使っていると思われるスパム対策のプラグイン。
開設して1ヶ月ぐらいしてから1日100通を越えるコメントスパムの攻撃にあったため、導入。
最初からWORDPRESSに組み込まれているものなので、使用するために
WordPress.comにログインしてWordPress.com API キーを取得する。
ダッシュボード >> プラグインで「Akistmet」を使用するにチェック。
ダッシュボード >> プラグイン>> Akismet 設定のページにAPI キーを入力。

これだけで使えます。

次にカウンターとかlightboxとかを入れるわけですが、先に書いておくと、プラグインを入れて設定したにもかかわらず、動かない、という場合には、</head>の前に<?php wp_head(); ?>を書いて


	.
	.
	<?php wp_head(); ?>
	</head>
	

として下さい。
これでだめなら、footerの最後に


	<?php wp_footer(); ?>

もいれて下さい。

特に<?php wp_head(); ?>はいれてやらないと動かないプラグインが多いようで、僕も原因がわからずしばらく途方にくれました。

Counterize II

アクセス解析とカウンター。
これも広く使われているプラグイン。
http://wordpress.org/extend/plugins/counterizeii/
から「counterizeii」というファイルをダウンロード。

counterizeiiフォルダ内の
「counterize-ja_UTF.mo」
「counterize-ja_UTF.po」
のファイル名からUTFを取って、それぞれ
「counterize-ja.mo」
「counterize-ja.po」
に変更。

プラグイン本体は、〜WordPress/wp-content/pluginsフォルダ内に配置
ダッシュボード >> プラグインより「Counterize II」を有効化する。

index.php(当ブログの場合)のカウンターを表示させたい場所に
全アクセス数を表示させたい場合。<?php echo counterize_getamount();?>
今日のアクセス数を表示させたい場合。<?php echo counterize_gethitstoday();?>
ユニークアクセス数を表示させたい場合。<?php echo counterize_getuniqueamount();?>
今日のユニークアクセス数<?php echo counterize_getuniquehitstoday();?>

当プログではリスト形式にするため


<ul>
	<li>total:<?php echo counterize_getamount();?></li>
	<li>today:<?php echo counterize_gethitstoday();?></li>
	<li>unique:<?php echo counterize_getuniqueamount();?></li>
	<li>today's unique:<?php echo counterize_getuniquehitstoday();?></li>
</ul>

としてます。

ここで欲しいのが「昨日のアクセス数」ですが、このままではできないので「counterize.php」を書き直します。

counterize.phpを開いて240行目あたりに


##### Returns amount of hits yesterday.
function counterize_gethitsyesterday()
{
$today = date("Y-m-d");
$yesterday = date("Y-m-d",strtotime("-1 day"));
$sql = "SELECT COUNT(1) FROM ".counterize_logTable().
" WHERE timestamp >= '$yesterday' AND timestamp < '$today' ";
$wpdb =& $GLOBALS['wpdb'];
return $wpdb->get_var($sql);
}

を追加。
僕はいつもコードを追加したり変更した時には、あとから追加したことがわかりやすいように、コメント部のマーク(phpの場合は#)を多めに入れてます。

さらにphpファイル側の表示させたい場所に


	<?php echo counterize_gethitsyesterday();?>

と記述。

で、こうなっています。


<ul>
	<li>total:<?php echo counterize_getamount();?></li>
	<li>today:<?php echo counterize_gethitstoday();?></li>
	<li>yesterday:<??php echo counterize_gethitsyesterday();?></li>
	<li>unique:<?php echo counterize_getuniqueamount();?></li>
	<li>today's unique:<?php echo counterize_getuniquehitstoday();?></li>
</ul>

ちなみにユニークアクセスというのは重複を除いたアクセス数のこと。
また、当ブログのカウンターはブログ設置してから半年経って組み込んでますので、それまでの半年分はカウントされてません。

wp-postviews

実はブログ全体のアクセス数より記事ごとのアクセス状況を知りたかったのでカウンターのプラグインを探していたわけですが、その記事ごとのアクセス数を表示してくれるのがこのwp-postviewsというプラグイン。
WP-PostViews ヌ Extend ン Pluginsからダウンロードできますが、WORDPRESSのバージョンによって、使えるwp-postviewsのバージョンも変わるので、一旦こちらWP-PostViews 1.50 Readmeのページで確認してください。

当ブログは現在、WPのバージョンは2.6なので、wp-postviews1.31を使用。
(2010年現在はWPが3.0なので、wp-postviewsは1.50)
表示させたい部分に


	<?php if(function_exists('the_views')) { the_views(); } ?>

を追加。

さらに、アクセス数の多い順にトップ10形式で表示してくれる機能もついてます。
表示させたい部分に


<?php if (function_exists('get_most_viewed')): ?>
   <ul>
      <?php get_most_viewed(); ?>
   </ul>
<?php endif; ?>

と入れてやります。

ところが試してみると、
「cannot yet handle MBCS in html_entity_decode()! in /home/sites/lolipop.jp/users/lolipop.jp-dp57219792/web/wp/wp-content/plugins/wp-postviews/wp-postviews.php on line 260」というエラーが出る。

調べてみると、どうもPHP5でないとこのエラーがでるらしい。
対策は、wp-postviews.phpの260行目、「$text = html_entity_decodeノ」という部分を
「$text = utf8_decode($text);」に置き換えると、あっさり動いた。

当ブログはlolipopのレンタルサーバで、以前はPHPのバージョンも4だったので、このエラーがでるため、書き換えたましたが、現在はPHP5になり、WPもバージョンアップしたので、、wp-postviews.php自体もアップグレードされ、書き換えの必要はなさそうです。

wp-lightbox2

画像の表示方法でとしてよく使われているlightbox。
WP用のプラグインもあったので拾ってきて組み込みました。

プラグイン本体は、〜WordPress/wp-content/pluginsフォルダ内に配置
ダッシュボード >> プラグインより「wp-lightbox2」を有効化。

これだけなんで、普通にhtmlファイルで作ったサイトに組み込むよりも簡単でした。

———————————————-
12月追記です。

ie 6 no more

ウィンドウの一番上に、「ie 6 no more」の表示がされるプラグイン。
最初は直にコードを書いていたけど、WP用のプラグインがあったので組み込みました。
IE6で見ると、「ブラウザをアップグレードしてください。」という表示がでます。(それ以前にIEで見ると、かなりレイアウトが崩れてると思いますか゛、このブログ…)
これに関しては別記事をば…

———————————————-
2010年2月追記です。

commented-entry-list

「最近のコメント」表示をするプラグイン。
そんなにコメント書き込みはないんですが、自分が管理するのにあった方がいいと思って探しました。
配布先はこちらです。
説明自体はWordPress Noteさんがわかりやすかったのでご参考までに。