その前に前提のお話

絵文字を扱う前に、知っておきたい知識です。

絵文字は、WordPressは4.2で追加された機能

絵文字を表示させる機能は、4.2で追加された機能です。

MySQLのバージョンと文字コード

絵文字のコードをそのままデータベース(MySQL)に入れるためには、バージョンが5.5.3以上で、その文字コードがutf8mb4である必要があります。

絵文字は重い

絵文字の処理は、WordPressにとって、重たい処理のようです。
使っていなくても、head内にコードが挿入されます。

functions.phpにコードを書くと、filterを無効化できます。

絵文字はスマイリーとは違う

絵文字と、スマイリー(エモーティコン、フェイスマーク、顔文字)は、技術的には違うものです。

絵文字を入力する

絵文字の入力方法は、デバイスによって異なります
絵文字サイトからコピペしてくる方が、早そうです。

🌱🌲🌳🌴🌵🌷

絵文字 – WordPress Codex 日本語版

スマイリーを入力する

スマイリーは、記号の組み合わせを入力すると、機能を有効化していれば、変換されます。

🙂 😀 🙁 😮 😯 😕 😎 😡 😛 😐 😉

記号の間にスペースを入れないと、表示されない場合があります。
絵文字に比べると、少ないです。

スマイリーの使い方 – WordPress Codex 日本語版

絵文字が表示されない問題

今回、起きた問題はあるページだけ絵文字(顔文字を含む)が出ないというものでした。

つまり、絵文字でなく、スマイリーでした。

表示されないページは、カスタマイズされたページで、the_content()が使われていませんでした。

原因は、the_content()のfilterがないことでした。

the_contentのfilter

convert_smiliesで、スマイリーに変換しています。
表示する前に、この関数を実行すれば、表示されました。

the_contentで使用されているfilter

the_contentで使用されているfilterは、これだけあります。

wp-includes/default-filters.php

まとめ

検索しても、意外と出てこなかったので、メモしておきます。

あと、一応、絵文字と顔文字が、別なものなので、その部分も戒めとして、心に留めておきます。

それでは、また!

世界一わかりやすいWordPress 導入とサイト制作の教科書
技術評論社 (2017-06-17)
売り上げランキング: 4,946