CG
(@du-bist-der-lenz)
テンプレートをデザインしたら、ファイル名を404.php
で保存します。
CG様ご回答ありがとうございます。
言葉足らずで、申し訳ありません。
404.phpは既に自分でデザインしたものになっているのですが、
特定の下層ディレクトリ(/example/)のみの404エラーページをまた違うデザイン(404-b.php)に実装できたらという事でした。
404.phpに条件分岐の記述をして、
404-a.php(通常使うデザイン)
404-b.php(example用のデザイン)
に振り分けしたいです。
宜しくお願い致します。
CG
(@du-bist-der-lenz)
こんにちは
"{$type}_template"
というフィルターフックがあるので、それを使ったらいけると思います。
テーマディレクトリ直下に、
404-example.php
という名前でテンプレートを作成します。
functions.php の末尾に、以下を追加します。
function my_custom_404_template( $template, $type, $templates ){
global $wp_query;
if( 0 === strpos( $wp_query->query['pagename'], 'example/' ) ){
$template = get_stylesheet_directory() . '/404-example.php';
}
return $template;
}
add_filter( "404_template", 'my_custom_404_template', 10, 3 );
404 の時に、ディレクトリ部分が example だったら、404-example.php を表示します。
pagename を使っていいのかどうか、ちょっと自信が無いですが、使ってみて問題無いようなら参考にしてみてください。
こんにちは
存在しないページのみの場合は、単純に下記のようにするのもいいかもです。
404.php:
<?php
if ( strpos( home_url( $wp->request ), 'http://(サイトアドレス)/example/' ) !== false ) {
get_template_part( '404', 'a' );
} else {
get_template_part( '404', 'b' );
}