问题描述
我想添加一个新的自定义”product type” 到 woocommerce 插件:
尝试将当前存在的产品类型文件 (woocommerce template structure)中的一个复制为新文件 (文件名和内部注释的名称),但不能工作!
最佳解决办法
添加到购物车模板只是您需要做的许多事情之一。每个产品类型都有它自己的类在/includes/
文件夹。每个扩展 WC_Product
类。
要将列表中的项目添加到筛选 (在管理方面),而不是 front-end,与 add-to-cart.php
模板不同,您需要对 product_type_selector
进行过滤。
add_filter( 'product_type_selector', 'wpa_120215_add_product_type' );
function wpa_120215_add_product_type( $types ){
$types[ 'your_type' ] = __( 'Your Product Type' );
return $types;
}
那么你需要声明你的产品类。标准命名系统是 WC_Product_Type_Class
,所以在这个例子中它将是:
class WC_Product_Your_Type extends WC_Product{
/**
* __construct function.
*
* @access public
* @param mixed $product
*/
public function __construct( $product ) {
$this->product_type = 'your_type';
parent::__construct( $product );
}
}
你问一个非常复杂的问题,我无法提供更完整的答案。希望这将使您在正确的道路上。我强烈建议您阅读 WooCommerce 中的代码。评论很好,您可以看到他们如何处理不同的产品类型。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。