2013-05-03 42 views
11

我正在嘗試自定義標準woocommerce主題,並且迄今爲止運行良好。我將所有模板文件從/plugins/woocommerce/templates複製到/mytheme/woocommerce並自定義文件。archive-product.php上的更改無效

但是,當我改變archive-product.php什麼都沒有發生?我甚至試圖在覈心文件(/plugins/woocommerce/templates/archive-product.php)中定製這個,但我不工作。

我想更改h1標題的類別:<h1 class="page-title"><?php woocommerce_page_title(); ?></h1>

所以我擡頭所有 woocommerce模板文件,類page-title只發生在這一個文件(以防止編輯錯誤的文件)。

編輯:

具體,我想自定義在這個路徑中使用的主題:http://example.com/product-category/mycategory

+0

您的網站上是否安裝了任何緩存插件? – 2013-05-03 07:47:56

+0

不,我沒有安裝任何緩存插件。 – Slevin 2013-05-03 08:00:36

回答

11

似乎這仍然是Woocommerce中的一個問題。對於任何登陸這裏的人來說,以下解決方案在版本2.1.6中對我有用。

顯然問題是由於woocommerce_content()函數爲歸檔內容輸出了錯誤的頁面。

我用下面繞過它:

在woocommerce.php替換爲woocommerce_content():

if (is_singular('product')) { 
woocommerce_content(); 
}else{ 
//For ANY product archive. 
//Product taxonomy, product search or /shop landing 
woocommerce_get_template('archive-product.php'); 
} 

信用:找到了解決辦法here

+0

它是由設計看到這裏http://docs.woothemes.com/document/third-party-custom-theme-compatibility/ – THRIVE 2015-02-26 23:14:29

+2

這個解決方案現在已經過時 - woocommerce_content()不存在woocommerce.php – 2016-01-28 20:03:43

+0

這工作2016年6月7日給我。 – 2016-06-08 01:28:26

7

以下是我固定的礦:

  1. 在主題刪除woocommerce.php夾。
  2. 複製woocommerce插件目錄中的TEMPLATE文件夾,將其粘貼到您的THEME文件夾中,並將其重命名爲woocommerce。
  3. 打開剛剛重命名的文件夾,轉至商店文件夾,然後編輯wrapper-start.php和wrapper-end.php。
+0

哇...這工作,但根據WooCommerce文檔對一切添加兼容性的主題反對一切。這是一個錯誤?這看起來像一個可怕的工作,但絕對有效。 – RCNeil 2013-12-07 23:53:41

1

您需要編輯文件「taxonomy-product_cat.php」並添加條件is_product_category('mycategory')。

  1. 打開你的主題文件夾,並添加一個名爲「woocommerce」的新子文件夾。
  2. 將文件「archive-product.php」和「taxonomy-product_cat.php」從/ plugins/woocommerce/templates複製到主題中的woocommerce子文件夾。
  3. 將「archive-product.php」重命名爲「archive-mycategory.php」(或任何你喜歡的,這將是模板文件的類別)。
  4. 開放 「分類法product_cat.php」,敷用wc_get_template('archive-product.php');

    if (is_product_category('mycategory')){ 
    wc_get_template('archive-mycategory.php'); 
    

    }否則{ wc_get_template( '歸檔product.php'); }

1

我試過以上所有的解決方案,都無濟於事。不管我做了什麼,archive-product.php都沒有被使用。相反,大多數woocommerce頁面都使用我主題中的page.php。

對我來說,解決方案是添加主題支持......這是我使用woocommerce以來的一段時間,所以我完全忘記了這一點。但是,在我的functions.php文件中添加以下行後,現在正在使用archive-product.php(/mytheme/woocommerce/archive-product.php),我可以更新它,因爲我應該可以。

add_theme_support('woocommerce');