先日、WordPress を 3.3 にバージョンアップしたところ、投稿やコメント欄で絵文字を使用するときに便利な WordPress プラグイン「Custom Smilies」が動かなくなりました。


不具合内容はというと、、、
コメント欄での動作は問題ないのですが、投稿編集中に絵文字を挿入しようとすると絵文字自体は表示されるもののクリックしてもまったく無反応というものでした。

現在は正常に動作するようになったので、その対処をアップしておきます。

環境、症状その他は以下の通り

  • WordPress は 3.3、ブラウザは Win 版 Firefox 8.0。
  • Custom Smilies のバージョンは 2.9.1。
  • コメント欄では正常に動作する。投稿編集画面では、絵文字群はポップアップするが絵文字をクリックしても無反応で本文中に挿入されない。
  • [ ユーザー] → [ プロフィール ] → [ ビジュアルエディター ] は「ビジュアルリッチエディターを使用しない」になっている。
  • ワタシは PHP に関してはシロウトである


WordPress3.3 で投稿編集画面にてプラグイン Custom Smilies を正常に動作させる方法

  1. プラグイン内にある genlist_post.js.php をテキストエディター等で開く
  2. 69 行目あたりにある以下の記述をコピーして閉じる。
    <td><a href=¥"javascript:grin('<?php echo $k?>', 'content');smilies_win_hide();void(0);¥"><img src=¥"<?php echo $imagesdirurl; ?><?php echo $v?>¥" border=¥"0¥" alt=¥"smilies¥" title=¥"smilies¥" /></a></td>¥
  3. プラグイン内にある genlist_post4wysiwyg.js.php をテキストエディター等で開く
  4. 69 行目あたりにある以下の記述を手順 2. でコピーしたものに差し替える。
    <td><a href=¥"javascript:clinsertsmilies('<?php echo $k?>');smilies_win_hide();void(0);¥"><img src=¥"<?php echo $imagesdirurl; ?><?php echo $v?>¥" border=¥"0¥" alt=¥"smilies¥" title=¥"smilies¥" /></a></td>¥

    。。。上記を以下のものに差し替えるということ。

    <td><a href=¥"javascript:grin('<?php echo $k?>', 'content');smilies_win_hide();void(0);¥"><img src=¥"<?php echo $imagesdirurl; ?><?php echo $v?>¥" border=¥"0¥" alt=¥"smilies¥" title=¥"smilies¥" /></a></td>¥
  5. 保存して閉じる。当方の環境では、これで正常に動作するようになりました。


おそらくですが、、、ビジュアルエディターを使用しているにもかかわらず、WYSIWYG (ウィジウィグ)用の PHP を読み込んでいたのだと思います。

  • 対処前

    不具合発生時
    不具合発生時

  • 対処後

    修復時
    修復時


ちなみに、私の環境では WordPress 3.3 にしてからポップアップしたウィンドウの横幅が以前よりも広く表示されるようになりました。幅を狭くしたい場合は 57 行目あたりからはじまる以下の記述内の 54 にすると横 4 列に表示されて幅が狭くなります。

5 (2箇所) を

$smilies_sum = count($clcs_smilies);
$smilies_counter = 0;
$smilies_col = 5;
$smilies_row = ceil($smilies_sum/5);
$smilies_space = $smilies_row * $smilies_col - $smilies_sum;

4 にする

$smilies_sum = count($clcs_smilies);
$smilies_counter = 0;
$smilies_col = 4;
$smilies_row = ceil($smilies_sum/4);
$smilies_space = $smilies_row * $smilies_col - $smilies_sum;


WordPress Plugin Directory の Custom Smilies のページ を見ると Compatible up to: 2.9.2 とありますので、不具合も仕方なしってところでしょうか。

上記の対処が最適かどうかシロウトの私にはわかりませんが、いちおう正常に動作するようになったということでアップしておきます。