■ 期待する動作
Lightningは404.phpあるいは404ページ専用のパーツがなく、g3_/index.php > template-parts/main-archive.php > lightning_get_no_post_text() とたどっていって出力箇所を見つけました。
実務では404.phpは結構こだわって作り込みたいケースが多いのですが、子テーマで404.phpを作るハードルがかなり高くなりました。他のシンプルなテーマや以前のLightning Proみたいに、page.phpを複製してthe_contentのとこだけ書き換える、とはいかないので…。
404時の出力のみをカスタマイズできるフックがあると嬉しいなと思いました。
■ 自分で試した事
記事が0件だった場合の表示メッセージの改変
を参考に
`
add_filter( ‘lightning_no_posts_text’, ‘my_no_posts_text_change’ );
function my_no_posts_text_change( $text ) {
if ( is_404() ) {
$text = ‘大変申し訳ございません。<br>
お探しのページは削除されたか、名前が変更されたか、一時的に利用できない可能性があります。’;
}
return $text;
}
`
のような感じでテキストの書き換えを行いました。
しかしこれだとp要素の中のテキストしか書き換えができません。
リストとか任意の要素を入れていきたいので、div.main-section-no-posts の中身丸ごと書き換えられるフィルターか、もっと欲を言えばサイドバーなしのレイアウトにする可能性もあるので、template-parts/entry.phpで出力できる部分と置き換えできるtemplate-parts/404.php的なものがあるとめちゃくちゃ嬉しいです。
■ その他特記事項
一応以下のトピックは見ましたが、リダイレクトはちょっと違うなと思うので…
オリジナル404ページの作成について