Используйте категории продуктов Woocommerce, даже если Woocommerce не установлен - PullRequest
0 голосов
/ 05 мая 2018

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

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

wp_insert_category( $category );

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

Ответы [ 2 ]

0 голосов
/ 06 мая 2018

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

Важное примечание :
Категория продуктов 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" типом сообщения.

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

0 голосов
/ 05 мая 2018

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...