WP Grins コメント欄のスマイリーが...

WP Grinsを導入して、スマイリーアイコンを出すことにチャレンジ!
とは言っても、かなり前に導入しながら、コメント欄のスマイリー表示がうまくいかず悩んでいたのでした。

現象としては、コメント欄の上にきちんとスマイリーアイコンは表示されるのだけれど、それをいざ入力すると、スマイリーが絵で表示されず、文字で表示されてしまうという現象... :cry:
色々試してみたもののうまくいかず放置していました。

今日はこのWP Grinsの問題を解決してみようと心に決めてチャレンジ :!:
環境は、WordPress Me 2.2.3 + WP。

元々、WordPressは、2.2.1環境だったのですが、うまくいかなかったので2.2.3にバージョンアップしてみました。
しかし、現象は変わらず... :sad:

もう一度、WP GrinsのREADMEを読んでみることに。

http://alexking.org/projects/wordpress/readme?project=wp-grins

> 1. Download the plugin archive and expand it (you've likely already done this).
> 2. Put the 'wp-grins.php' file into your wp-content/plugins/ directory.
> 3. Go to the Plugins page in your WordPress Administration area and click 'Activate' for WP Grins.
> 4. If you are using a version of WP prior to 2.1, upload the included prototype.js to your wp-includes/js/ directory.

WP Grins ver.1.5では、導入作業は単純だ。

1. ダウンロードして解凍する。
2. wp-grins.php を wp-content/plugins/ にアップロード。
3. 管理画面(プラグイン)より、WP Grinsを有効化。
4. WordPress 2.1以降ならば、wp-includes/js/ に WP Grinsを解凍してできた prototype.jsをアップロード。

以上で完了。
過去のバージョンであったような、< ?php wp_grins(); ?> を comment.php に追加する作業などは不要。

さて、これでコメント欄のスマイリーを選んで、コメントを書き込むもやはり画像が表示されず... :neutral:
投稿画面から記事を投稿した時は、正常動作。
う~ん...これで数時間悩むことに...

ふと、プラグインの競合が気になり、チェックしていたところ、brBrbr プラグインを有効にしていると、WP Grinsが正常動作しないとの情報が。
すぐに、brBrbr を無効にしてみたところ、あっさりとWP Grinsは正常動作!嬉しい :razz:

今日は大分時間が押してしまったので、当面は brBrbr を無効にして運用することにする。

下記の辺りに問題がありそう。

remove_filter('comment_text','get_comment_text');
add_filter('comment_text','comment_text_br');

function brBrbr($brbr) {
$brbr = str_replace(array("rn", "r"), "n", $brbr); // cross-platform newlines
$brbr = str_replace("n", "<br />n", $brbr); // cross-platform newlines
$brbr = preg_replace('!(]*>)s*<br />!', "$1", $brbr);
$brbr = preg_replace('|</blockquote><blockquote ([^>]*)>|i', "n</blockquote><blockquote $1><p>", $brbr);
$brbr = str_replace('</p></blockquote>', "n<p>", $brbr);
$brbr = preg_replace('/(<script .*?>)(.*?)< /script>/ise', "clr_br('$0')", $brbr);
$brbr = preg_replace('/(<form .*?>)(.*?)< /form>/ise', "clr_br('$0')", $brbr);
$brbr="<p>n".$brbr."</p>n";
return $brbr;
}

function comment_text_br() {
global $comment;
$comment_br = apply_filters('get_comment_text', $comment->comment_content);
$comment_br = make_clickable($comment_br);
print brBrbr($comment_br);
}

誰かわかる人よろしく~
今日はとりあえずこれで寝ます。

起きたら仕事頑張るぞ!

コメント欄

  • Comments ( 2 )
  • Trackbacks ( 1 )
  1. by o-hana

    スマイルって・・・どれですか :?: :lol: :smile:
    こっちですね^^*

    mahalo

  2. by inaba

    そうそう、その3つの画像がスマイリーです :razz: !
    自動的に反映されるようになり嬉しい!

    どんどん使ってくださいな :wink:

  1. wordpress テクニカルメモ②…

    今回はプラグインを上手く動くようにいじくる話。
    wordpress2.2の話です。

    ▼プラグイン【brBrbr】と【More Smilies】の競合回避
    まずW (more…)