Используйте категории продуктов Woocommerce, даже если Woocommerce не установлен

У меня есть собственный плагин, который при активации будет создавать категории продуктов WooCommerce. Я использую этот код здесь, чтобы добавить категорию продукта.

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

wp_insert_category( $category );

Я попытался активировать свой пользовательский плагин без установленного WooCommerce, и он не работает. Это не будет действительно работать? Если нет, есть ли другой способ сделать это?

2 ответа

Решение

НЕТ, это не будет работать так просто...

Важное примечание:
Категория продуктов Woocommerce - это пользовательская таксономия 'product_cat' это будет работать только с пользовательским типом сообщений Woocommerce "product", но не для других сообщений...

WordPress wp_insert_category() не будет работать с любой пользовательской таксономией. Эта функция используется для категорий Wordpress…

Для категории продуктов WooCommerce вы должны будете использовать wp_insert_term() вместо этого так:

wp_insert_term( 'Stimulants GROUP 1 (MPH Short acting, IR)', 'product_cat' );

Если ваш пользовательский плагин был создан для Woocommerce, вам необходимо включить Woocommerce. Не забывайте, что товарная категория работает исключительно с типом поста "товар".

Вы также можете создать свою собственную таксономию '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

Или вы можете проверить эту тему: Как проверить, активен ли плагин (WooCommerce)?

Таможенная таксономия product_cat это не то, что принадлежит WooCommerce. Любой плагин может создавать и использовать определенную категорию в WordPress.

Итак wp_insert_category Код функции, который вы написали, создаст эту таксономию.

Чтобы проверить, почему это не работает, вам нужно включить режим отладки, установив WP_DEBUG константа, чтобы быть правдой. Просмотрите журналы, и вы сможете отследить истинную причину.

Другие вопросы по тегам