Facebook にシェア
[`evernote` not found]
LINEで送る

Welcartの商品情報出力部分はsingle_item.phpに記述されていますが、これがある特定の商品のみデザインを変えたい場合や
情報を追加したい場合もあります。
Welcartの機能に、single_item.phpを他のパスに変更できるフックがあるので、それを利用して特定の商品のページのみ違うデザインを読み込ませることにします。

functions.phpに

add_action('wp', 'my_welcart_template', 9);
function my_welcart_template(){
add_filter('usces_template_path_single_item', 'my_welcart_single_item_path');
}

function my_welcart_single_item_path($path){
global $post;
$single_path = get_stylesheet_directory() . '/templates/';
$single_item = 'single_item.php';
if(file_exists($path = $single_path . 'p' . $post->ID  . '-' . $single_item)){return $path;}
if(file_exists($path = $single_path . $post->post_name . '-' . $single_item)){return $path;}
$path = $single_path . $single_item;
return $path;
}

と記述します。
これでテーマの中のtemplatesディレクトリの中に
1.p{商品id}-single_item.phpがあった場合それを表示(例:postidが10の場合p10-single_item.phpが読み込まれる)
2.{ページスラッグ}-single_item.phpがあった場合それを表示(例 slugがappleだった場合apple-single_item.phpが読み込まれる)
3.single_iteme.phpを読み込む(これは必ず用意しておいてください)
の順番でファイルを探し出して読み込みます。
少し変更すれば特定のタグを持っている場合のみ特定のページを読み込むとかもできるかもしれません。