2016-07-29 87 views
1

我想,包括我的代碼wc-formatting-functions.php文件時,我改變內部WooCommerce插件文件夾的核心文件,它的工作。WooCommerce - 通過主題重寫WC-格式-functions.php文件不工作

現在我已經創建woocommerce文件夾我的主題文件夾內,複製裏面wc-formatting-functions.php文件,試圖超越,但它不工作。

我想裏面插入wc_price()功能驗證碼:

if(is_product_category('mattress')){ 
    echo "mattress category"; 
} 
else if(is_product_category('pillows')){ 
    echo "pillows category"; 
} 
else if(is_product_category('protectors')){ 
    echo "protectors category"; 
} 
else if(is_product_category('toppers')){ 
    echo "toppers category"; 
} 
else if(is_product_category('foldable-mattress')){ 
    echo "foldable-mattress category"; 
} 

只是這些線路在WC-格式化-的functions.php後:

$formatted_price = ($negative ? '-' : '') . sprintf($price_format, '<span class="woocommerce-Price-currencySymbol">' . get_woocommerce_currency_symbol($currency) . '</span>', $price); 
$return = '<span class="woocommerce-Price-amount amount">' . $formatted_price . '</span>'; 

我做錯了嗎?

回答

2

由於wc-formatting-functions.phpWooCommerce核心文件,而不是模板文件,你將不能夠讓它在你的主題文件夾內woocommerce文件夾的工作。

不可能通過主題覆蓋wc-formatting-functions.php核心文件作爲模板文件。

根據你想用你的代碼,你可以嘗試使用它在相關掛鉤,如:

add_filter('woocommerce_cart_product_price', 'filter_woocommerce_cart_product_price', 10, 2); 
function filter_woocommerce_cart_product_price($wc_price, $product) { 
    // some code 
    return $wc_price; 
}; 

由於is_product_category()條件目標類別的網頁存檔,您可以覆蓋相關woocommerce模板,取決於你想使用你的代碼的位置。

你甚至可以將你的代碼插入到你的活動主題的function.php文件中,嵌入到一個你可以重用的函數中。

但是,如果您要針對某個具有條件的類別,則必須改爲使用has_term('mattress', 'product_cat')代替。

參考文獻:

+0

TheAztec非常感謝你對漂亮explanation..now我想創建掛鉤,所以我可以根據圖像顯示category.i我試圖使用has_term('牀墊','product_cat'),但它沒有顯示任何分類頁面.. –

+0

謝謝@Loic阿茲特克工作正常 –

+0

阿茲特克可以請你看看這個問題,我有這個問題。請.http://stackoverflow.com/questions/38567523/woocommerce-price-overriding-in-cart-dynamically –