2026年5月25日
2026年5月25日
WordPressで絵文字(emoji)が原因のエラー解決
はじめに
絵文字はウェブコンテンツの表現力向上に役立ち、多くのユーザーがブログやコメントなどで使用しています。しかし、WordPressサイトでこれらの絵文字を使用すると、コードエラーが発生することがあります。この記事では、そんな問題を解決するための方法を紹介します。
症状・背景
このテーマが必要になる主な場面:
- ブログ記事やコメントに絵文字を使用した後にサイト全体または特定ページで白い画面が表示される。
- 「Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 106496 bytes)」といったエラーメッセージが出る。
- WordPressのプラグインを更新した後、絵文字を使用している記事やコメントが正常に表示されなくなる。
手順・設定方法
ステップ1: フィルター関数の無効化
# 管理パネルからプラグインページを開き、JetpackやSimple Local Avatarsなどのプラグインを一時的に無効にします。
# これらのプラグインが絵文字表示に関連するフィルターを適用している可能性があります。
# ウェブサイトのwp-content/themes/your-theme/functions.phpファイルを開く。
nano wp-content/themes/your-theme/functions.php
# 下記コードを追加し、保存して閉じます。
remove_action( 'wp_head', 'print_emoji_detection_script' );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_filter( 'the_content_feed', 'convert_smilies_to_entity' );
remove_filter( 'comment_text_rss', 'convert_smilies_to_entity' );
remove_filter( 'the_content', 'wp_staticize_emoji' );
remove_filter( 'the_excerpt', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
# 上記の変更を反映させるために、サーバーにFTPアクセスがある場合はファイルをアップロードし、それ以外の場合には再度サイトをリロードします。
ステップ2: .htaccess ファイルの編集
# サーバーへFTP接続して.htaccessファイルを開きます。
nano .htaccess
# 以下の行を追加し、保存して閉じます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} (\.(?:svg|gif|jpe?g|png))$ [OR]
RewriteRule ^index.php$ - [L]
# 既存のコードの下に追加した次の行を含む。
php_flag short_open_tag Off
</IfModule>
ステップ3: PHP設定ファイルの変更
# php.iniまたはwp-config.phpファイルを探します。通常はサーバーのルートディレクトリか、WordPressインストールのディレクトリ内にあります。
nano /etc/php/7.4/apache2/php.ini # または nano wp-config.php
# エンティティサイズ制限を増やします。
upload_max_filesize = 64M
post_max_size = 64M
# メモリ制限も引き上げます。
memory_limit = 128M
# 上記の変更を反映させるため、サーバー再起動が必要な場合があります。必要であれば実行します。
sudo systemctl restart apache2
ステップ4: CDN設定の確認と調整
# 現在使用しているCDNサービスのダッシュボードにログインします。
# 既存のルールで絵文字が正しく配信されていることを確認し、必要であれば設定を調整します。
# たとえばCloudflareの場合、ワークフローの「性能」セクションで「高速化」タブから「エラーページ」をオンにし、エラー404ページをカスタマイズして絵文字を正しく処理するように設定します。
注意事項
- フィルター関数を無効にする際は、WordPressの更新により再び有効化される可能性があるため、アップデート後もチェックが必要です。
- .htaccessファイルへの変更はサーバーによって異なる場合があります。Apache、Nginxなど、使用しているサーバーソフトウェアに応じた設定を確認してください。
- PHPのメモリ制限を引き上げる際には、他のアプリケーションが同様の問題を引き起こさないことを確認し、必要に応じて適切な値を選択します。
まとめ
1. フィルター関数無効化: WordPressで絵文字を正しく表示するために、不要なフィルター関数を無効にする。
2. .htaccessの修正: 必要に応じて、サーバー設定ファイルを調整し、WordPressがエラーなく動作するようにします。
3. PHP設定の調整: PHP設定を通じて、メモリやファイルサイズ制限を適切なレベルに引き上げます。
4. CDNの確認: CDNサービスを使用している場合は、その設定も絵文字表示のために適切に行うことが重要です。
関連記事: