1
我試圖修改尺寸輸出,在任何地方調用get_dimensions()
而不是默認情況下,它將包括尺寸字母。包含尺寸字母L/W/H到WooCommerce格式化的產品尺寸輸出
因此,這將是1升,而不是X 1寬x 1 H 1×1×1
我可以覆蓋get_dimensions()
功能和包括信並排在陣列中的每個值或I可以以某種方式使用wc_format_dimensions()
去做這個?
我試圖修改尺寸輸出,在任何地方調用get_dimensions()
而不是默認情況下,它將包括尺寸字母。包含尺寸字母L/W/H到WooCommerce格式化的產品尺寸輸出
因此,這將是1升,而不是X 1寬x 1 H 1×1×1
我可以覆蓋get_dimensions()
功能和包括信並排在陣列中的每個值或I可以以某種方式使用wc_format_dimensions()
去做這個?
您不能覆蓋get_dimensions()
WC_Product
方法。
但是你可以使用woocommerce_format_dimensions
過濾鉤子位於wc_format_dimensions()
功能,自定義標籤添加到每個尺寸產品屬性,這樣(就像你想要的):
add_filter('woocommerce_format_dimensions', 'custom_formated_product_dimentions', 10, 2);
function custom_formated_product_dimentions($dimension_string, $dimensions){
if (empty($dimension_string))
return __('N/A', 'woocommerce');
$dimensions = array_filter(array_map('wc_format_localized_decimal', $dimensions));
foreach($dimensions as $key => $dimention)
$label_with_dimensions[$key] = strtoupper(substr($key, 0, 1)) . ' ' . $dimention;
return implode(' x ', $label_with_dimensions) . ' ' . get_option('woocommerce_dimension_unit');
}
代碼放在你的活動子主題(或主題)或任何插件文件中的function.php文件。
此代碼在WooCommerce版本3+上測試並且工作
完美的作品。不知道是否應該創建單獨的問題,但我如何可以將「長度」鍵重命名爲「直徑」。我認爲可以使用array_map替換$ dimensions數組?嘗試過幾件事情,但得到了「非法字符串偏移」警告。 – Aivaras
@Aivaras最好在新問題中提出這個問題,可能會添加這個代碼,解釋您現在得到的內容,然後解釋您想要得到的內容......或類似內容。我會回答(也可能是其他人),因爲不可能將我的答案作爲評論。還試圖明確解釋你想重新命名的地方(哪裏出現)... – LoicTheAztec