我有一个自定义插件,激活后会创建WooCommerce产品类别。我在这里使用此代码添加产品类别。
$category = array(
'taxonomy' => 'product_cat',
'cat_name' => 'Stimulants GROUP 1 (MPH Short acting, IR)',
);
wp_insert_category( $category );
我尝试在没有安装WooCommerce的情况下激活我的自定义插件,但它不起作用。它真的不起作用吗?如果没有,还有其他方法吗?
答案 0 :(得分:1)
不,它不会那么简单......
重要提示:
Woocommerce产品类别是一种自定义分类'product_cat'
,仅适用于Woocommerce"产品"自定义帖子类型,但不适用于其他帖子...
WordPress wp_insert_category()
不适用于任何自定义分类。此功能用于Wordpress类别......
对于woocommerce产品类别,您必须使用wp_insert_term()
,而不是这样:
wp_insert_term( 'Stimulants GROUP 1 (MPH Short acting, IR)', 'product_cat' );
如果您的自定义插件是为Woocommerce制作的,则需要启用Woocommerce。不要忘记该产品类别仅适用于"产品" 的帖子类型。
您还可以使用this tutorial创建自己的自定义分类
'product_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
或者您可以查看此相关主题: How to check if a plugin (WooCommerce) is active?
答案 1 :(得分:0)
自定义分类product_cat
不属于WooCommerce。任何插件都可以在WordPress中创建和使用特定类别。
因此,您编写的wp_insert_category
函数代码将创建该分类。
要检查它不起作用的原因,您需要通过将WP_DEBUG
常量设置为true来打开调试模式。浏览日志,您将能够追踪实际原因。