More-Smiliesをもっと使いやすく

今回はスマイルアイコン用のプラグイン、“More-Smilies”の改造方法を紹介します。

More-Smiliesは複数のスマイリーアイコンを瞬時に切り替えられるプラグインです。導入も簡単ですし、日本語化バージョンもあるのでとてもお勧めです。しかし、幾つか不便な点もあったので改造してみました。

編集・投稿画面にアイコンを表示する方法

More-Smiliesは投稿画面で、ポップアップ画面からアイコンを選ぶようになっています。このポップアップ画面はアイコンをひとつ入れるたびに閉じてしまうんです。気軽にスマイリーを使うにはとても面倒ですよね?

./wp-admin/admin-functions.phpのthe_quicktags()内、1111行目あたりに以下の1行を追加します。これだけでクイックタグボタンの下にアイコンが表示されるようになります。ただし、リッチテキストエディターとの併用は出来ません。

</script>
';
if (class_exists(more_smilies) && !user_can_richedit()) do_action('comment_toolbar', 'content');
}

Smiliesボタンを非表示にする

投稿画面のクイックタグボタンにSmiliesがそのまま残っているので、気になる方はmore-smilies.phpを改造してください。./wp-content/plugins/more-smilies/more-smilies.phpの以下の行をコメントアウトします。

// buttonsnap_jsbutton($this->button_url, 'Smilies', $js, "any");

文の途中にもアイコンを挿入できるようにする

文の途中にもアイコンを挿入できるようにするには、Javascriptを改造する必要があります。私はJavaScriptが全く分からないので、wp-grinsからコードを失敬しました。

./wp-content/plugins/more-smilies/more-smilies.phpのclicker_js()内、112行目から始まるJavaScriptを以下の物と入れ替えてください。

<script type="text/Javascript">
	<!--
	function moreSmiliesAappendSmiley(tag) {
        var myField;
        if (document.getElementById('content') && document.getElementById('content').type == 'textarea') {
                myField = document.getElementById('content');
        }
        else if (document.getElementById('comment') && document.getElementById('comment').type == 'textarea') {
                myField = document.getElementById('comment');
        }
        else {
                return false;
        }
        if (document.selection) {
                myField.focus();
                sel = document.selection.createRange();
                sel.text = ' ' + tag + ' ';
                myField.focus();
        }
        else if (myField.selectionStart || myField.selectionStart == '0') {
                var startPos = myField.selectionStart;
                var endPos = myField.selectionEnd;
                var cursorPos = endPos;
                myField.value = myField.value.substring(0, startPos)
                                          + ' ' + tag + ' '
                                          + myField.value.substring(endPos, myField.value.length);
                cursorPos += tag.length + 2;
                myField.focus();
                myField.selectionStart = cursorPos;
                myField.selectionEnd = cursorPos;
        }
        else {
                myField.value += tag;
                myField.focus();
        }
	}
	-->
</script>
TrackBack URIhttp://bd.dotted.jp/archives/57/trackback/

3 Trackbacks & Pingbacks

  1. no.1 And You Tell Me.. Says:
  2. more-smiles,spot-milk の導入...

    WORDPRESSを導入してから、どんなPluginがいいのかわからないのでさまよっていたのですが、あなたのお勧めプラグイン10選が大変参考になりました。
    そこで、こち (more...)

  3. no.2 兄くりっぷ Says:
  4. More Smilies プラグインを導入...

    以前運営していたXOOPSサイトでも、現在一時閉鎖しているSEGA linkでも、スマイルアイコンを利用していた訳ですが、WordPressでも利用できたら良いなぁ、と (more...)

  5. no.3 Regen Press Says:
  6. More Smiliesに手を加える...

    今回はMore Smilies 日本語版を導入し、More-Smiliesをもっと使いやすくを実践してみました。導入にあたって手を加えた点をメモしておきます。環境はWP (more...)

4 Comments

  1. no.1 Masayan Says:
  2. 毎度フォローをありがとうございます。 8)

    その3点の改造でWP-Grinsの上を行きましたね。 :mrgreen:
    すばらしいです!

  3. no.2 Kaira Says:
  4. こちらこそ、いつもお世話になっています ;)
    このプラグインならスマイルアイコンをパッケージで配布できますし、フリーで使えるアイコンが増えたらうれしいですね :roll:

    投稿画面でのアイコン表示とリッチテキストエディタの併用はできないようです。「編集・投稿画面にアイコンを表示する方法」に掲載したコードを若干変更しました。

  5. no.3 tanaka Says:
  6. 編集・投稿画面にアイコンを表示する方法

    >./wp-admin/admin-functions.phpのthe_quicktags()内、1111行目あたりに以下の1行を追加します。

    これって具体的にはどこでしょうか?
    Kubrickのテーマを使っていて色々試してみたけど出来ない

  7. no.4 Kaira Says:
  8. 投稿画面にアイコンを付け足す場合、使用しているテーマは関係ありません。WordPressME2.0.7を使っている場合はwp-admin内にあるadmin-functions.phpの1159行目に上記のif文を付け足してください。

    ところでコメント投稿時に入力していただいているメールアドレスは、最初の投稿以後コメントの自動承認に使われています。フリーメールで構いませんので、存在するアドレスの入力をお願いします。

Leave a Reply