WP Keyword Link

WP Keyword Linkは、文中のキーワードに自動でリンクを張ってくれるプラグインです。

このページの「CubePoints」っていうリンクや、私が制作しているFX初心者講座というサイトのこのページの「ロング」にかかっているリンクがWP Keyword Linkで生成されています。

良いところ

・ 文中から自動でキーワードにリンクを張れる
・ 日本語に対応(海外にこういうプラグインは多いが、日本語対応しているものはほとんどない)

悪いところ

・ 長い間更新されていないため、以下のようなインストールするとエラーメッセージがでる

Notice: add_option was called with an argument that is deprecated since version 2.3 with no alternative available. in /***/wp-includes/functions.php on line 3008

Notice: has_cap の使用はバージョン 2.0 から非推奨になりました ! 代わりに プラグインやテーマでのユーザーレベルの使用は推奨されていません。代わりに権限グループと権限を使ってください。 を使ってください。 in /***/wp-includes/functions.php on line 3006

・ このプラグインはもともとアメリカ人が開発したWordPress Keyword Link PluginをたぶんPHPに不慣れな中国人が自国語に対応させるために作ったもの(なので、日本語の文字に対して使用する際には「For zh_CN」(中国語用)にチェックを入れなければならない)で、ほんの一行変えれば良いものを、いろいろさわってしまったため、バグや問題もある。たとえば、管理画面に

Notice: Undefined index: nofollow in /***/plugins/rejected-wp-keyword-link-rejected/wp_keywordlink.php on line 415

のようなエラーが出るし、wp_keywordlink.phpの772行目 $content = preg_replace( '|(\<img)(.*?)('.$ex_word.')(.*?)(\>)|U'.$case, '$1$2%&&&&&%$4$5', $content);なんかは、そのあとの処理を見るとそもそも不要なのだが、もし書くとしても

(<img)(.*?)

じゃなくて

(<img)([^>]+)

にしないと、はるか先の

$ex_word

まで探しに行ってしまい(改行が入れば終わるが・・・)、想定通りの結果にならないはず。

感想

英語では単語がスペース区切りになっているため、両端が空白でない場合にはマッチしない(たとえば、portにマッチさせたいとき、importantの中のportにはマッチさせない)という処理がされているのですが、中国語や日本語だと単語の前後にスペースが入らないため、この処理を消さなければなりません。そのことによって、若干精度は落ちる(形態素解析すれば少しましになるか)のですが、そこまでシビアにやらなくても良いと思いますので、このエラーだらけのプラグインを使うよりは、元の英語のプラグインを始めとする他のプラグインを改造するほうがよいでしょう。

myCRED

myCREDは、CubePointsと同様、WordPressでポイント管理をするためのプラグインです。

こちらもCubePointsと同様、デモを見せることが難しいので、時間があるときに管理画面のキャプチャを貼ろうと思います。

良いところ

・ WordPressで投稿やコメントに対してポイント管理ができる
・ BuddyPressにも対応
・ アドオンでポイントの購入や一部ショッピングカートとの連携もできる
・ 開発者が精力的に開発していてどんどんバージョンアップしている

悪いところ

・ 開発者がひとりなので、バグがなかなか直らないこともある
(ただし、連絡すれば早く対応してくれそう)
CubePointsよりも複雑な分、カスタマイズも若干複雑

WordPressは会員登録機能が充実していますし、BuddyPressなんかはなおさらです。
会員にポイントが付与できるとサイトの利用を促進できるので、こういうポイント管理プラグインがどんどん便利になっていくと良いですね。

CubePoints

ポイント付与やポイント管理ができるプラグイン、CubePointsをインストールしてみました。

特別にデモを見せられるページはないので、時間のあるときに管理画面のキャプチャでも貼ろうと思います。

良いところ

・ WordPressで投稿やコメントに対してポイント管理ができる

悪いところ

・ 最近更新されていないので、最新バージョンのWordPressでは不具合がある

たとえば、管理画面からAdd Pointsというメニューでユーザーにポイントを付与しようとしてもユーザー検索に失敗する。
これに関しては、cp_hooks.phpの305行目

	$user = $wpdb->get_row('SELECT * from `' . $wpdb->prefix . 'users` WHERE `user_login` LIKE \''.$wpdb->prepare(trim($_REQUEST['q'])).'\' LIMIT 1', ARRAY_A);

	$sql = $wpdb->prepare('SELECT * from ' . $wpdb->prefix . 'users WHERE user_login LIKE %s LIMIT 1',trim($_REQUEST['q']));
	$user = $wpdb->get_row($sql, ARRAY_A);

に書き換えれば修正可能。

使っていくうちに他にも不具合が出てきそうなので、ちょっと不安ですね。

とりあえずテーマはTwenty Twelve

プラグインを設置する際にはテーマとの親和性も重要な問題の一つです。

とりあえず当サイトは、オフィシャルテーマのTwenty Twelveで運営する予定です。

Twenty Thirteenは文字の大きさとか独特のヘッダー画像が気に入らないし、Twenty Fourteenはギャラリー向けなので、残りの3つ、Twenty Ten、Twenty Eleven、Twenty Twelveの中で一番新しいTwenty Twelveがいいかなということで。