他のテーマフォルダからphpテンプレートファイルを取得する方法
例えば :
私の現在のテーマフォルダはpromax
です。 archive.php
に取り組んでいて、子テーマarchive.php
と呼ばれる他のフォルダーからのpromax-child'
の中にテンプレートファイルを含み、includes
と呼ばれるフォルダーの中にarchive-desc.php
というファイルがあります。
テンプレートは template_include
フィルタでフィルタリングできます。この例では、すべてのアーカイブページのアーカイブテンプレートをフィルタリングします。特定のアーカイブに対してこれを実行する必要がある場合は、条件として is_post_type_archive( $post_types )
を使用します。これをあなたの子供のテーマのfunctions.php
ファイルに入れてください。
function my_archive_filter( $template) {
if ( is_archive() ) {
return 'path/to/includes/archive-desc.php'; // Path to your child theme template.
}
else {
return $template;
}
}
apply_filters( 'template_include', 'my_archive_filter' );
編集:カスタムテンプレートが何らかの理由で失敗した場合、デフォルトのテンプレートに戻るようになりました。