結論:functions.php の “スマートクォート(’)” が原因です。
remove_filter() の引数に まっすぐなシングルクォート(') を使うよう修正すれば解決します。
Contents
症状(表示されたエラー)
管理画面ログイン時に下記のような警告が画面最上部に出て、ログインできない/画面が崩れる。
原因:スマートクォート(‘ ’)が文字列として認識されない
WordPress(PHP)は文字列を '...' で囲む必要があります。
ところが、執筆時のコピペやエディタの自動変換で スマートクォート(‘ ’) に置き換わると、PHPはそれを文字列でなく未定義の定数として解釈し、上記の警告が出ます。
結果、ヘッダー出力前に警告が混ざってログイン処理が壊れることがあります。
直し方(heteml のブラウザFTPで修正)
作業前に必ず
affinger5-child/functions.phpをローカルにダウンロードしてバックアップしてください。
1) heteml 管理画面からファイルを開く
-
heteml(ヘテムル)管理サイトにログイン
-
「FTPアカウント」 → 「hetemlFTPで確認」 をクリック
-
左ペインでサイトのルートへ移動し、下記の順で辿ります
web→yusukeb.com→wp-content→themes→affinger5-child -
functions.phpをクリックして編集画面を開く
2) 該当行を修正
あなたのファイルには以下のような“誤った”コードが入っています(スマートクォートに注意):
修正前(誤り)
また、提示いただいた**「修正後」案も誤り**です。
(クォートの中にさらにスマートクォートが混在しておりNG)
提示の修正後(これも誤り)
正しい修正(これでOK)
ポイント:
-
すべて まっすぐなシングルクォート
'を使用する -
余計な全角記号や特殊文字を含めない
-
文字コードは UTF-8(BOMなし) が無難
3) 保存 → ブラウザのキャッシュをクリア → 再ログイン
保存後、管理画面のログインページを再読み込みします。
表示が直らない場合は、ブラウザのキャッシュ削除やシークレットウィンドウで再試行してください。
もし編集に失敗した/すぐ戻したいときの応急処置
-
その行を一旦コメントアウト(機能自体を無効化)
-
子テーマを一時的に無効化
/wp-content/themes/affinger5-childフォルダ名をaffinger5-child-bakなどに変更すると、WordPressは親テーマ(またはデフォルトテーマ)にフォールバックします。ログイン後に再度戻せます。 -
プラグインやテーマ編集はローカルで実施→アップロード
ブラウザ編集が不安定なときは、ファイルをダウンロードしてローカルのテキストエディタ(VS Code など、スマートクォート自動変換をOFFにできるエディタ)で修正→再アップロードが安全です。
そもそもこの remove_filter は何をしている?
pre_user_description はユーザープロフィールの「自己紹介」入力に対する前処理フック、
wp_filter_kses は危険なHTMLを除去するサニタイズ関数です。
を入れると、プロフィールの自己紹介で使えるHTMLが増える(≒WordPress既定の制限を外す) 可能性があります。
XSS等のリスクが高まるため、信頼できる管理者のみが編集するサイトでの限定利用をおすすめします。
不特定多数がプロフィールを編集できる環境では、基本的に外さない方が安全です。
再発防止チェックリスト
-
コードは等幅フォントのエディタで編集(VS Code 等)
-
スマートクォート自動変換をOFF(Word/メモ帳などは使わない)
-
本番前にステージングやメンテ中表示でテスト
-
PHPの警告が画面に出ないよう本番環境では
※ 不具合の根本原因は必ず修正し、警告の“隠蔽だけ”で終わらせない
-
変更前に必ずバックアップ(子テーマごと)
まとめ
-
警告の原因は スマートクォート(‘ ’)。
-
functions.phpの該当行を'(まっすぐなシングルクォート) に直せばOK。 -
正解コード:
-
なお、この解除はセキュリティ面の配慮が必要。用途を理解した上で使いましょう。
必要なら、記事内に入れるスクリーンショット構成(heteml画面の導線、編集前後のコード、ログイン成功画面)や、AFINGER5向けの装飾ショートコード例も作れます。欲しい見出しスタイルや装飾の雰囲気(枠線・背景・アイコンなど)を教えてください!




