Php 使用Woocommerce产品类别,即使未安装Woocommerce

Php 使用Woocommerce产品类别,即使未安装Woocommerce,php,wordpress,woocommerce,custom-post-type,custom-taxonomy,Php,Wordpress,Woocommerce,Custom Post Type,Custom Taxonomy,我有一个自定义插件,当激活时,它将创建WooCommerce产品类别。我在这里使用此代码添加产品类别 $category = array( 'taxonomy' => 'product_cat', 'cat_name' => 'Stimulants GROUP 1 (MPH Short acting, IR)', ); wp_insert_category( $category ); 我尝试在没有安装WooCommerce的情况

我有一个自定义插件,当激活时,它将创建WooCommerce产品类别。我在这里使用此代码添加产品类别

$category = array(
        'taxonomy'    => 'product_cat',
        'cat_name'    => 'Stimulants GROUP 1 (MPH Short acting, IR)',
    );

wp_insert_category( $category );

我尝试在没有安装WooCommerce的情况下激活我的自定义插件,但它不起作用。真的不行吗?如果没有,还有其他方法吗?

自定义分类法
产品\u cat
不属于WooCommerce。任何插件都可以在WordPress中创建和使用特定类别

因此,您编写的函数代码将创建该分类法


要检查它为什么不工作,需要通过将常量设置为true来打开调试模式。浏览日志,您将能够追踪实际原因。

不,它不会像那样简单

重要提示
Woocommerce产品类别是一种自定义分类法
'Product\u cat'
,它只对Woocommerce“Product”自定义帖子类型起作用,而不适用于其他帖子

WordPress将不适用于任何自定义分类法。此函数用于Wordpress类别

对于woocommerce产品类别,您必须使用以下方式:

wp_insert_term( 'Stimulants GROUP 1 (MPH Short acting, IR)', 'product_cat' );
如果您的自定义插件是为Woocommerce制作的,则需要启用Woocommerce。不要忘记,产品类别仅与“产品”一词一起使用

您还可以创建自己的自定义分类法
'product\u cat'
,例如…但如果您的自定义插件需要Woocommerce,它将无法解决任何问题


回答您的评论:如果WooCommerce未激活,是否阻止插件激活

您的主插件文件应以以下内容开头:

if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

// Check if WooCommerce is active
if ( ! in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) exit; // Exit if WC not active
或者,您可以检查此相关线程:

你说“它不起作用”是什么意思?您是否看到任何错误消息?是否未将
产品\u cat
分类法插入数据库?哦,我明白了。如果你不介意的话,我可以知道如果WooCommerce插件不存在,如何阻止自定义插件激活吗?我已经尝试了很多次搜索,但我似乎无法使用他们的代码:/。谢谢@DavidMaranga我在我的答案末尾添加了一个小更新…它现在起作用了!非常感谢@LoicTheAztec!