我需要將主要WooCommerce元文件夾中的默認產品類型從「簡單產品」更改爲「簡單訂閱」,沒有人有關於如何實現此目的的想法?如何更改主元文件夾中的默認產品類型
試圖使用我在源代碼中找到的過濾器,但是最接近的是我添加了一個自定義產品類型,這顯然不是什麼後。
謝謝。
我需要將主要WooCommerce元文件夾中的默認產品類型從「簡單產品」更改爲「簡單訂閱」,沒有人有關於如何實現此目的的想法?如何更改主元文件夾中的默認產品類型
試圖使用我在源代碼中找到的過濾器,但是最接近的是我添加了一個自定義產品類型,這顯然不是什麼後。
謝謝。
你忽略了正確的過濾器,default_product_type
,這是在output
方法WC_Meta_Box_Product_Data
類:
if ($terms = wp_get_object_terms($post->ID, 'product_type')) {
$product_type = sanitize_title(current($terms)->name);
} else {
$product_type = apply_filters('default_product_type', 'simple');
}
對其進行過濾,你會做類似如下:
function so_27657057_default_product_type(){
return "subscription";
}
add_action('default_product_type', 'so_27657057_default_product_type');
你可能需要通過一些條件邏輯來檢查是否存在特定於訂閱的類,但是如果您知道它始終存在,那不是那麼重要。
謝謝大家的寶貴意見。 WooThemes支持還添加了我結束了使用的解決方案,它的工作很好:
add_filter('product_type_selector', 'mw_custom_product_type_change', 20);
function mw_custom_product_type_change($product_types) {
$new_array = array('booking' => $product_types['booking']);
$product_types = $new_array;
return $product_types;
}
@helgatheviking做法似乎真的太優雅了,所以我會嘗試也。再次感謝。
如果您只想更改名稱,那麼您可以從插件自行完成。它位於第39行的'wp-content>插件> woocommerce> includes> admin> meta-boxes> class-wc-meta-box-product-data.php'中。 **注意:**這是不是很好的做法。但如果你很着急,你可以選擇這種方式。 –