我有一个自定义插件,当激活时,它将创建WooCommerce产品类别。我在这里使用这个代码来添加一个产品类别。
$category = array(
'taxonomy' => 'product_cat',
'cat_name' => 'Stimulants GROUP 1 (MPH Short acting, IR)',
);
wp_insert_category( $category );我试着在没有安装WooCommerce的情况下激活我的自定义插件,但是它不起作用。这真的不管用吗?如果没有,还有其他办法吗?
发布于 2018-05-05 21:36:30
不,它不会像那个…那样简单
重要备注: Woocommerce产品类别是一个自定义分类法
'product_cat',只在Woocommerce " Product“自定义post类型上使用,而不对其他帖子使用…
WordPress wp_insert_category() 将不使用任何自定义分类法。此函数用于Wordpress类别…
对于woocommerce产品类别,您必须以这种方式使用wp_insert_term():
wp_insert_term( 'Stimulants GROUP 1 (MPH Short acting, IR)', 'product_cat' );如果您的自定义插件是为Woocommerce制作的,您需要启用Woocommerce。不要忘记,产品类别只适用于“产品” post类型。
您还可以使用本教程 (例如,…)创建自己的自定义分类法…。但是如果您的自定义插件需要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或者您可以检查以下相关线程:如何检查插件(WooCommerce)是否处于活动状态?
发布于 2018-05-05 16:48:48
自定义分类法product_cat不是属于WooCommerce的东西。任何插件都可以在WordPress中创建和使用特定类别。
因此,您编写的wp_insert_category函数代码将创建该分类法。
若要检查其不工作的原因,需要通过将WP_DEBUG常量设置为true来打开调试模式。通过日志,您将能够跟踪实际原因。
https://stackoverflow.com/questions/50190465
复制相似问题