子テーマでファイルsingle-product-php
を編集することによって製品ページの構造/デザインを変更する可能性があることを私は知っています。
そのファイルに対する変更は、すべての製品ページに影響します。
しかし、特定の商品ページのテンプレートファイルを変更するにはどうすればよいですか。カスタムページテンプレートでできるのと同じように?ページ(画像)の場合のように、最初から1つの商品ページにテンプレートのドロップダウンはありません。
特定の商品ページのテンプレートを変更する方法
Woo Commerceはそのプラグインとしては話題になっておらず、特にWordPressとは関係ありませんが、できればsingle-product.phpテンプレートをあなたの子テーマのWooCommerceフォルダにコピーすることです。ファイル名を変更してファイルを変更してから、 single_template
または template_include
に正しい条件タグを付けてください。
single_template
function get_custom_post_type_template($single_template) {
global $post;
if ($post->post_type == 'product') {
$single_template = dirname( __FILE__ ) . '/single-template.php';
}
return $single_template;
}
add_filter( 'single_template', 'get_custom_post_type_template' );
template_include
add_filter( 'template_include', 'portfolio_page_template', 99 );
function portfolio_page_template( $template ) {
if ( is_page( 'slug' ) ) {
$new_template = locate_template( array( 'single-template.php' ) );
if ( '' != $new_template ) {
return $new_template ;
}
}
return $template;
}
あなたはWordPressをチェックする必要があります テンプレート階層 それがどのように動作するか。
シングルポスト番号
単一の投稿テンプレートファイルは、単一の投稿をレンダリングするために使用されます。 WordPressは次のパスを使います。
1.single-{post-type}.php – First, WordPress looks for a template for the specific post type. For example, post type is product, WordPress would look for single-product.php.
2.single.php – WordPress then falls back to single.php.
3.index.php – Finally, as mentioned above, WordPress ultimately falls back to index.php.
ページ番号
静的ページをレンダリングするために使用されるテンプレートファイル(page post-type)。他の投稿タイプとは異なり、pageはWordPressにとって特別なものであり、次のパッチを使用します。
1. custom template file – The page template assigned to the page. See get_page_templates().
2. page-{slug}.php – If the page slug is recent-news, WordPress will look to use page-recent-news.php.
3.page-{id}.php – If the page ID is 6, WordPress will look to use page-6.php.
4. page.php
5. index.php
特定のIDにはpage-{id}.php
テンプレートを使用できます。