convert_smilies()
は、テキスト内の顔文字(例: :)
や :D
)を対応する画像(<img>
タグ)に変換する WordPress の関数です。
この機能は 「投稿設定」 にある 「顔文字を画像に変換して表示する」 オプションが有効な場合に動作します。
主に the_content
フィルターの一部として適用され、投稿やコメントの表示時に自動的に変換されます。
目次
基本構文
以下の形式で使用します。
convert_smilies( string $text ): string
引き数と戻り値
引き数 | 型 | 説明 |
---|---|---|
$text | string, 必須 | 顔文字を含むテキスト。 |
戻り値 | 型 | 説明 |
---|---|---|
なし(void ) | (string) | 顔文字を <img> タグに変換した HTML 文字列。 |
使用例
タグを使った使用例
顔文字を画像に変換する
<?php $text = "Hello! :) How are you?"; $converted_text = convert_smilies($text); echo $converted_text; ?>
出力例
Hello! <img src="http://example.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"> How are you?
注意点
convert_smilies()
は WordPress の 「投稿設定」 のオプションが有効な場合にのみ動作します。<code>
や<pre>
タグ内では変換されません。- カスタムフィルターを適用して、特定のテキストに手動適用できます。
良く一緒に使われる関数
get_option()
$use_smilies = get_option('use_smilies'); // 設定の取得
the_content()
<?php the_content(); // 投稿の本文を出力(自動的に convert_smilies() が適用) ?>
apply_filters()
<?php echo apply_filters('my_plugin_content', 'Hello! :)'); ?>
想定されるトラブル
顔文字が画像に変換されない
use_smilies
オプションが無効になっている。
解決方法
WordPress の 「投稿設定」 で 「顔文字を画像に変換して表示する」 を有効にする。
特定のタグ内で変換されない
<code>
や <pre>
タグ内では変換が適用されない。
解決方法
これらのタグ内で顔文字を変換したい場合は、フィルターを適用する。
Q&A
まとめ
convert_smilies()
は、WordPress の投稿やコメント内の顔文字を画像に変換する便利な関数です。
「投稿設定」 のオプションが有効な場合に動作し、the_content
フィルターを通じて自動適用されます。
カスタムフィルターを追加することで、特定のコンテンツにも適用可能です。顔文字をより視覚的に表現したい場合に活用すると、ユーザーエクスペリエンスの向上につながります。
コメント