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

2012 年 2 月 7 日

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

このトピックには2件の返信が含まれ、2人の参加者がいます。5 年、 9 ヶ月前 aha さんが最後の更新を行いました。

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;
    }
    }

    フィルターの設置方法はこちらをご覧ください。

    https://www.welcart.com/community/archives/1697

    #63771

    aha
    参加者

    こんにちは。

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

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

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

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

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

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

3件の投稿を表示中 - 1 - 3件目 (全3件中)

このトピックに返信するにはログインが必要です。