2017-04-11 62 views
0

我需要使用這個簡碼創建一個頁面和一個短代碼,我會在這個模板上顯示不同類型的產品。但問題是,我無法使用插件我已經使用我的custom_locate_template()函數,但我以多次調用此頁面結束無法正確調用此頁面模板。自定義頁面模板被調用,但問題是它被稱爲兩次,我不明白爲什麼這個頁面模板包括審查部分,因爲我沒有審查部分代碼。任何幫助將不勝感激wooocmmerce模板插件

+0

您想要在頁面中顯示特定的帖子類型嗎?或多個帖子類型? – Alice

+0

我只想要一個特定術語的產品,例如我爲租賃創建的特定術語。這部分工作正常我能夠得到出租產品,但問題是我有一些匿名代碼在頁面模板 –

+0

您可以描述更多關於代碼?這是出現? – Alice

回答

0

$term = get_term_by('slug', 'custom_product_type','product_type');

$args = array( 
    'post_type' => 'product', 
     'tax_query' => array(
      array(
       'taxonomy' => 'product_type', 
       'terms' => $term->term_id, 
       'operator' => 'IN', 
      ) 
     ) 
    ); 

    $loop = new WP_Query($args); 

    echo "<div class='custom_product_type'>"; 

     if ($loop->have_posts()) : ?> 

     <?php 

      /** 
      * woocommerce_before_shop_loop hook. 
      * 
      * @hooked woocommerce_result_count - 20 
      * @hooked woocommerce_catalog_ordering - 30 
      */ 
      do_action('woocommerce_before_shop_loop'); 
     ?> 

     <?php woocommerce_product_loop_start(); ?> 

      <?php woocommerce_product_subcategories(); ?> 

      <?php while ($loop->have_posts()) : $loop->the_post(); ?> 

       <?php $evt_mngr->wk_get_template('custom_product_type.php'); ?> 

      <?php endwhile; // end of the loop. ?> 

     <?php woocommerce_product_loop_end(); ?> 

     <?php 
      /** 
      * woocommerce_after_shop_loop hook. 
      * 
      * @hooked woocommerce_pagination - 10 
      */ 
      do_action('woocommerce_after_shop_loop'); 
     ?> 

    <?php elseif (! woocommerce_product_subcategories(array('before' => woocommerce_product_loop_start(false), 'after' => woocommerce_product_loop_end(false)))) : ?> 

     // not found code ?> 

    <?php endif; 

    echo "</div>"; 

    /** 
    * woocommerce_after_main_content hook. 
    * 
    * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content) 
    */ 
    do_action('woocommerce_after_main_content'); 
?> 

<?php 
    /** 
    * woocommerce_sidebar hook. 
    * 
    * @hooked woocommerce_get_sidebar - 10 
    */ 
    do_action('woocommerce_sidebar'); 
?> 

+0

我在這個頁面裏面用了一個shortcode創建 –

+0

關掉'do_action('woocommerce_after_main_content');',檢查這個評論部分是否去掉。 – Alice

+0

感謝您的回覆alice, –

0

從你的描述,似乎在custom_product_type.php您列出從同一職位類型或標記您所有的帖子。如果是這樣,那麼你不需要外部循環。

以下行 -

<?php while ($loop->have_posts()) : $loop->the_post(); ?> 

製作它的遞歸。假設你有兩個職位(產品),custom_product_type.php被調用兩次。如果你有3個職位,它會三次調用模板。

+0

感謝您的回覆,但要麼不適用於我,如果刪除此代碼,然後沒有產品可見意味着內部代碼不起作用 –

+0

只是想一秒鐘,我已經創建了一個頁面,並在其中添加短代碼,然後在短代碼回叫我有一個temlate文件,例如custom_produt_type.php,然後在裏面我用正確的代碼來列出產品,所以我想知道這段代碼如何包括審查部分和執行兩次或三次根據產品 –

+0

你已經發布的代碼已經有一個循環,並且你在該循環內調用了custom_product_type.php。 – Alice

0

要移除產品評論,請在您的主題的functions.php或任何其他相關地方使用以下代碼。

remove_action('woocommerce_product_tabs', 'woocommerce_product_reviews_tab', 30); 
remove_action('woocommerce_product_tab_panels', 'woocommerce_product_reviews_panel', 30); 
+0

你好再次,我想這些鉤子是用來刪除標籤後端不是前端,不工作,或者我說的審查部分是在前端模板 –

+0

woocommerce_product_tabs用於前端 – Alice

+0

感謝您的回覆愛麗絲,沒有那麼它不工作不好運氣我的 –