即使没有安装Woocommerce,也可以使用Woocommerce产品类别

时间:2018-05-05 14:22:47

标签: 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的情况下激活我的自定义插件,但它不起作用。它真的不起作用吗?如果没有,还有其他方法吗?

2 个答案:

答案 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来打开调试模式。浏览日志,您将能够追踪实际原因。