2015-08-15 67 views
0

我有一個主頁和商店頁面。我不想將我的主頁設置爲購物頁面。Woo Shop頁碼使用不同頁面

首頁充滿了自定義內容和小部件,並且在此內容之前我希望具有與商店頁面相同的產品清單分頁

這意味着我無法使用簡碼顯示產品,因爲默認簡碼不支持分頁。

已經完成了所有文檔,並試圖可能的方式了。但它總是打破了一些東西。

任何意見,將不勝感激。

Thx。

P.S.當你讀這我仍然試圖找到解決辦法,所以我可能很快就會發布一些:)

回答

1

終於找到真棒解權here

我使用簡碼[PRODUCT_CATEGORY per_page =「4」類=「類別的彈頭」]

爲了使分頁活着,你需要激活這個分頁。 下面是需要粘貼到主題的functions.php的確切的代碼片段:

if (defined('WC_VERSION')) { 
// ---------------------- WooCommerce active ------------------- 

    /** 
    * Set Pagination for shortcodes custom loop on single-pages. 
    * @uses $woocommerce_loop; 
    */ 
    add_action('pre_get_posts', 'kli_wc_pre_get_posts_query'); 
    function kli_wc_pre_get_posts_query($query) { 
     global $woocommerce_loop; 

     // Get paged from main query only 
     // ! frontpage missing the post_type 
     if (is_main_query() && ($query->query['post_type'] == 'product') || ! isset($query->query['post_type'])){ 

      if (isset($query->query['paged'])){ 
      $woocommerce_loop['paged'] = $query->query['paged']; 
      } 
     } 

     if (! $query->is_post_type_archive || $query->query['post_type'] !== 'product'){ 
      return; 
     } 

     $query->is_paged = true; 
     $query->query['paged'] = $woocommerce_loop['paged']; 
     $query->query_vars['paged'] = $woocommerce_loop['paged']; 
    } 

    /** Prepare Pagination data for shortcodes on pages 
    * @uses $woocommerce_loop; 
    */ 
    add_action('loop_end', 'kli_query_loop_end'); 
    function kli_query_loop_end($query) { 

     if (! $query->is_post_type_archive || $query->query['post_type'] !== 'product'){ 
      return; 
     } 

     // Cache data for pagination 
     global $woocommerce_loop; 
     $woocommerce_loop['pagination']['paged'] = $woocommerce_loop['paged']; 
     $woocommerce_loop['pagination']['found_posts'] = $query->found_posts; 
     $woocommerce_loop['pagination']['max_num_pages'] = $query->max_num_pages; 
     $woocommerce_loop['pagination']['post_count'] = $query->post_count; 
     $woocommerce_loop['pagination']['current_post'] = $query->current_post; 
    } 
    /** 
    * Pagination for shortcodes on single-pages 
    * @uses $woocommerce_loop; 
    */ 
    add_action('woocommerce_after_template_part', 'kli_wc_shortcode_pagination'); 
    function kli_wc_shortcode_pagination($template_name) { 
     if (! ($template_name === 'loop/loop-end.php' && is_page())){ 
      return; 
     } 
     global $wp_query, $woocommerce_loop; 
     if (! isset($woocommerce_loop['pagination'])){ 
      return; 
     } 
     $wp_query->query_vars['paged'] = $woocommerce_loop['pagination']['paged']; 
     $wp_query->query['paged'] = $woocommerce_loop['pagination']['paged']; 
     $wp_query->max_num_pages = $woocommerce_loop['pagination']['max_num_pages']; 
     $wp_query->found_posts = $woocommerce_loop['pagination']['found_posts']; 
     $wp_query->post_count = $woocommerce_loop['pagination']['post_count']; 
     $wp_query->current_post = $woocommerce_loop['pagination']['current_post']; 

     // Custom pagination function or default woocommerce_pagination() 
     kli_woocommerce_pagination(); 
    } 
    /** 
    * Custom pagination for WooCommerce instead the default woocommerce_pagination() 
    * @uses plugin Prime Strategy Page Navi, but added is_singular() on #line16 
    */ 
    remove_action('woocommerce_after_shop_loop', 'woocommerce_pagination', 10); 
    add_action('woocommerce_after_shop_loop', 'kli_woocommerce_pagination', 10); 
    function kli_woocommerce_pagination() { 
     woocommerce_pagination(); 
    } 
}// END WOOCOMMERCE 

很好的方式去爲這個嘗試。接下來的事情是讓基於無刷新頁面分頁的AJAX ...

相關問題