[解決済み] 特定カテゴリの商品詳細ページで専用テンプレートを使うには

フォーラム 使い方全般 [解決済み] 特定カテゴリの商品詳細ページで専用テンプレートを使うには

  • このトピックには2件の返信、2人の参加者があり、最後にahaにより12年、 1ヶ月前に更新されました。
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #51111
    aha
    参加者

    動作に関するご質問の場合は必ずご記入ください。


    WordPress のバージョン:3.3.1

    Welcart のバージョン:1.1.1

    ご利用のテーマ:自作テーマ


    こんにちは。

    いつもお世話になっております。

    今回、特定カテゴリ内の商品のみ、詳細ページを専用のテンプレートで表示させたいと思っています。

    single.phpでin_categoryを使って分ければいいのかと思いましたが、商品詳細ページが「wc_item_single.php」であるため、どこでテンプレートを呼び出せばよいのかわかりません。

    どなたかご存知ではないでしょうか。

    「wc_item_single.php」内で分岐させることも考えましたが、ずいぶんと長くなってしまうので、分けられたら非常に楽になります。

    どうぞよろしくお願いいたします。

    #63770
    nanbu
    キーマスター

    こんにちは。

    もう一つの商品詳細ページテンプレートを wc_item_single_org.php としますと、このようにして切り替えられます。

    add_action('usces_action_template_redirect', 'my_action_template_redirect', 8);
    function my_action_template_redirect() {
    global $usces, $post, $usces_entries, $usces_carts, $usces_members, $usces_item, $usces_gp, $member_regmode;

    if( is_single() && 'item' == $post->post_mime_type ) {
    $division = dlseller_get_division( $post->ID );
    $usces_item = $usces->get_item( $post->ID );
    if( 条件 ){
    if( file_exists(get_stylesheet_directory() . '/wc_templates/wc_item_single_org.php') ){
    include(get_stylesheet_directory() . '/wc_templates/wc_item_single_org.php');
    exit;
    }
    }else{
    if( file_exists(get_stylesheet_directory() . '/wc_templates/wc_item_single.php') ){
    include(get_stylesheet_directory() . '/wc_templates/wc_item_single.php');
    exit;
    }
    }
    return true;
    }
    }

    #63771
    aha
    参加者

    こんにちは。

    ご返信ありがとうございます!

    無事に分岐させることができました。

    usces_action_template_redirectというフィルタフックがあったのですね。

    カスタマイズの幅が広がり、助かります。

    もっといろいろ探してみようと思います。

    今後ともよろしくお願いいたします。

3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • このトピックに返信するにはログインが必要です。