WordPressのページを追加しても表示できない

いつものようにWordPressの管理画面でページ追加しても反映されなくて調査したときの覚書。

環境: PHP 7.4.13, WordPress 5.5.3

WordPressのコードを追う

  1. WordPressは今表示しようとしているURLがページかどうかをWPオブジェクト(class-wp.php)を生成するときに判断している。
  2. 具体的にはclass-wp.phpのparse_requestメソッド。
  3. ページかどうかは228行目のget_page_by_pathを実行して取得できればページとしての処理が走る(pagenameがセットされる)。

今回の場合は、見た目の文字列は問題なさそうだったけど、SQLで取得できてないので、改めてpost_nameを直打ちしてみたら直った。

どうやら、コピーペーストしたときに見えない文字コードまで入力していたみたい。