如何在WooCommerce的产品类型上添加新的产品类型?

时间:2013-10-26 作者:Amino

我想向woocommerce插件添加一个新的自定义“产品类型”:

enter image description here

试图复制当前存在的一个产品类型文件(woocommerce template structure) 作为新文件(文件名和内部注释名),但不起作用!

enter image description here

1 个回复
最合适的回答,由SO网友:helgatheviking 整理而成

“添加到购物车”模板只是您需要执行的众多操作之一。每个产品类型在/includes/ 文件夹每一个都扩展了WC_Product

要将项目添加到已设置屏幕限制的列表中(该列表位于管理端,而不是前端,不同于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\'; // Deprecated as of WC3.0 see get_type() method
        parent::__construct( $product );
    }

     /**
     * Get internal type.
     * Needed for WooCommerce 3.0 Compatibility
     * @return string
     */
    public function get_type() {
        return \'your_type\';
    }
}
你在问一个非常复杂的问题,我无法提供更完整的答案。希望这能让你走上正确的道路。我强烈建议您阅读WooCommerce中的代码。评论很好,你可以看到他们是如何处理不同的产品类型的。

Edit 添加了WC3。0与产品类型类的兼容性。

结束

相关推荐

How to find installed plugins

我一直在寻找WordPress网站上安装的插件列表。虽然我找到了一种方法,“http wp plugins.nse”暴力脚本,但我不知道如何使用这个脚本。如果有人知道任何方法,请分享。