ブログと発信

WordPress管理画面にログインできない|「Use of undefined constant」警告の原因と直し方(heteml+AFFINGER5 Child)

結論:functions.php の “スマートクォート(’)” が原因です。

remove_filter() の引数に まっすぐなシングルクォート(') を使うよう修正すれば解決します。


症状(表示されたエラー)

管理画面ログイン時に下記のような警告が画面最上部に出て、ログインできない/画面が崩れる。

 
Warning: Use of undefined constant ‘pre_user_description’ - assumed '‘pre_user_description’' (this will throw an Error in a future version of PHP) in /home/users/2/kujikuji1982/web/yusukeb.com/wp-content/themes/affinger5-child/functions.php on line 6
Warning: Use of undefined constant ‘wp_filter_kses’ - assumed '‘wp_filter_kses’' (this will throw an Error in a future version of PHP) in /home/users/2/kujikuji1982/web/yusukeb.com/wp-content/themes/affinger5-child/functions.php on line 6

原因:スマートクォート(‘ ’)が文字列として認識されない

WordPress(PHP)は文字列を '...' で囲む必要があります。

ところが、執筆時のコピペやエディタの自動変換で スマートクォート(‘ ’) に置き換わると、PHPはそれを文字列でなく未定義の定数として解釈し、上記の警告が出ます。

結果、ヘッダー出力前に警告が混ざってログイン処理が壊れることがあります。


直し方(heteml のブラウザFTPで修正)

作業前に必ず affinger5-child/functions.php をローカルにダウンロードしてバックアップしてください。

1) heteml 管理画面からファイルを開く

  1. heteml(ヘテムル)管理サイトにログイン

  2. 「FTPアカウント」「hetemlFTPで確認」 をクリック

  3. 左ペインでサイトのルートへ移動し、下記の順で辿ります

    webyusukeb.comwp-contentthemesaffinger5-child

  4. functions.php をクリックして編集画面を開く

2) 該当行を修正

あなたのファイルには以下のような“誤った”コードが入っています(スマートクォートに注意):

修正前(誤り)

 
<?php
if ( !defined( 'ABSPATH' ) ) {
exit;
}

remove_filter(‘pre_user_description’, ‘wp_filter_kses’);

また、提示いただいた**「修正後」案も誤り**です。

(クォートの中にさらにスマートクォートが混在しておりNG)

提示の修正後(これも誤り)

 
remove_filter('‘pre_user_description’', '‘wp_filter_kses’');

正しい修正(これでOK)

 
<?php
if ( !defined( 'ABSPATH' ) ) {
exit;
}

remove_filter('pre_user_description', 'wp_filter_kses');

ポイント:

  • すべて まっすぐなシングルクォート ' を使用する

  • 余計な全角記号や特殊文字を含めない

  • 文字コードは UTF-8(BOMなし) が無難

3) 保存 → ブラウザのキャッシュをクリア → 再ログイン

保存後、管理画面のログインページを再読み込みします。

表示が直らない場合は、ブラウザのキャッシュ削除シークレットウィンドウで再試行してください。


もし編集に失敗した/すぐ戻したいときの応急処置

  • その行を一旦コメントアウト(機能自体を無効化)

     
    // remove_filter('pre_user_description', 'wp_filter_kses');
  • 子テーマを一時的に無効化

    /wp-content/themes/affinger5-child フォルダ名を affinger5-child-bak などに変更すると、WordPressは親テーマ(またはデフォルトテーマ)にフォールバックします。ログイン後に再度戻せます。

  • プラグインやテーマ編集はローカルで実施→アップロード

    ブラウザ編集が不安定なときは、ファイルをダウンロードしてローカルのテキストエディタ(VS Code など、スマートクォート自動変換をOFFにできるエディタ)で修正→再アップロードが安全です。


そもそもこの remove_filter は何をしている?

pre_user_description はユーザープロフィールの「自己紹介」入力に対する前処理フック、

wp_filter_kses は危険なHTMLを除去するサニタイズ関数です。

 
remove_filter('pre_user_description', 'wp_filter_kses');

を入れると、プロフィールの自己紹介で使えるHTMLが増える(≒WordPress既定の制限を外す) 可能性があります。

XSS等のリスクが高まるため、信頼できる管理者のみが編集するサイトでの限定利用をおすすめします。

不特定多数がプロフィールを編集できる環境では、基本的に外さない方が安全です。


再発防止チェックリスト

  • コードは等幅フォントのエディタで編集(VS Code 等)

  • スマートクォート自動変換をOFF(Word/メモ帳などは使わない)

  • 本番前にステージングメンテ中表示でテスト

  • PHPの警告が画面に出ないよう本番環境では

     
    // wp-config.php(本番は表示OFFに)
    define('WP_DEBUG', false);
    define('WP_DEBUG_DISPLAY', false);

    ※ 不具合の根本原因は必ず修正し、警告の“隠蔽だけ”で終わらせない

  • 変更前に必ずバックアップ(子テーマごと)


まとめ

  • 警告の原因は スマートクォート(‘ ’)

  • functions.php の該当行を '(まっすぐなシングルクォート) に直せばOK。

  • 正解コード:

     
    remove_filter('pre_user_description', 'wp_filter_kses');
  • なお、この解除はセキュリティ面の配慮が必要。用途を理解した上で使いましょう。

必要なら、記事内に入れるスクリーンショット構成(heteml画面の導線、編集前後のコード、ログイン成功画面)や、AFINGER5向けの装飾ショートコード例も作れます。欲しい見出しスタイルや装飾の雰囲気(枠線・背景・アイコンなど)を教えてください!

  • この記事を書いた人
  • 最新記事

ゆうすけ

はじめまして!
このブログでは、**「副収入を得るまでの軌跡」**をリアルに記録しながら、転職・ブログ運営・投資についての情報を発信しています。

運営者の経歴
🔹 2005年~2017年:派遣社員として技術職を中心に勤務(営業経験あり)
🔹 2015年~:電験三種に挑戦し、2018年に取得
🔹 2018年~:電気系システム設計職に転職(年収550万→現在700万)
🔹 2019年~:副業開始(ブログ・NISA投資信託)

現在は、本業で技術職として働きながら、ブログや投資にチャレンジし、コツコツと副収入を育てています。

このブログについて
「ブログは誰でも作れる!継続すれば副収入につながる」
そんな成功者たちの言葉に刺激を受け、試行錯誤しながらブログ運営を続けています。

書いている内容は、私自身の経験がベースです。
そのため、すべてが最適な方法とは限りませんが、実際の体験を交えて「リアルな副業挑戦記」として発信しています。

✅ ブログの成長記録
✅ 転職・キャリアアップ体験談
✅ 小遣い稼ぎ・投資の実践記録

「副収入を得たいけど、何から始めればいいの?」と悩んでいる方にとって、少しでもヒントになれば嬉しいです。

失敗も成功も含めて、リアルな記録を残していきますので、ぜひ一緒に学びながら成長していきましょう!

よろしくお願いします!

派遣からの逆転劇。電験三種が僕の人生をどう変えたのか――

人生が変わったきっかけはこちら


🌟 人生が変わった5つの転機ジャンル【まとめ記事紹介】

「仕事」「お金」「家庭」「心」「専門スキル」―― 自分自身が本当に変われたと感じた“人生の転機”。 あなたの未来につながるヒントを、カテゴリ別にまとめました。

-ブログと発信

© 2026 天職備忘録 Powered by AFFINGER5