【发布时间】:2017-03-24 13:01:13
【问题描述】:
我正在为 woocommerce 创建自己的插件,并意识到在创建或更新产品时不会保存我的自定义 product_type。我确定问题出在我的插件上,但我不确定在哪里查看。 添加product_type的函数(根据帖子)
function extend_woocommerce()
{
Class WC_Product_Connected_To_General_Product extends WC_Product_Simple
{
public function __construct($product)
{
$this->product_type = 'connected_to_general_product';
$this->manage_stock = 'yes';
parent::__construct($product);
}
}
}
插件中调用的类
Class general_stock {
/**
* general_stock constructor.
*/
function __construct()
{
if($this->check_if_woocommerce_is_active()){
add_action('init',[$this, 'add_woocommerce_product_type'])
add_filter('product_type_selector', [$this,'add_woocommerce_product_type_general_connected_product']);
...
}
/**
* add_woocommerce_product_type
*/
function add_woocommerce_product_type(){
extend_woocommerce();
}
/**
* add_woocommerce_product_type_general_connected_product
* @param $types
* @return mixed
*/
function add_woocommerce_product_type_general_connected_product($types){
$types[$this->product_type_name] = __('Connected to general Product','ln-general-stock');
return $types;
}
但是到目前为止“一切”都有效:我可以在后端选择新产品类型并将其保存。 (编辑产品时选择)。
但是当我在前端查询产品并转储它时,product_type 的值等于simple,我认为应该是connected_to_general_product,或者此信息是否存储在另一个值中?
提前感谢您的帮助!
【问题讨论】:
-
我刚刚发现,product_type 通过这个帖子保存为术语:stackoverflow.com/questions/28355770/…
-
是否定义了
$this->product_type_name?如果没有,则选择元素将没有要保存的值,WooCommerce 可能会将其保存为simple。
标签: wordpress woocommerce