web-dev-qa-db-ja.com

front-page.phpテンプレートを無効にする

テンプレートでfront-page.phpを使用してホームページを表示しています。しかし、ユーザーが設定からホームページに別のページを使用している場合は無効にしたいと思います。解決策はありますか?ユーザーがホームページの設定からページを選択すると、表示されず、front-page.phpが読み込まれます。動的に無効にしたい。悪い英語でごめんなさい。

1
user3364610

多分 - template_include フィルターはあなたのために仕事を終わらせます。これらの線に沿った何か、

function prefix_another_front_page_template( $template ) {    
    if ( is_front_page() ) {
        $another_front_page_template = 'something.php'; // adjust as needed
        $new_template = locate_template( array( $another_front_page_template ) );
        if ( !empty( $new_template ) ) {
            return $new_template;
        }
    }    
    return $template;
}
add_filter( 'template_include', 'prefix_another_front_page_template', 99 );
2
Antti Koskinen

その場合は、front-page.phpを使用しないでください。 テンプレート階層 で確認できるように、ユーザーがフロントページを選択しない場合、home.phpが使用されます。したがって、ユーザーがページセットを持っていない場合は、これをフロントページに使用できます。テンプレートにfront-page.phpを含めない場合、ユーザーが選択した場合、テーマはデフォルトのページテンプレートにフォールバックしますページ。

0
Jacob Peattie