#php #wordpress #woocommerce #attributes #product
#php #wordpress #woocommerce #атрибуты #продукт
Вопрос:
Поскольку некоторые обновления WooCommerce, по-видимому, таксономии атрибутов продуктов WooCommerce больше не отображаются как обычные таксономии. Таблица базы данных wp_woocommerce_attribute_taxonomies
содержит названия таксономий продуктов, которые также перечислены как свойства продукта.
$attrName = 'floor';
$taxonomyName = wc_attribute_taxonomy_name( $attrName );
var_dump(taxonomy_exists( $taxonomyName ));
=> false
В предыдущих версиях WooCommerce это работало просто отлично, taxonomy_exists
возвращалось true
.
global $wp_taxonomies;
Также больше не содержит атрибутов продукта WooCommerce.
Ответ №1:
Извините, но wp_woocommerce_attribute_taxonomies
таблица не изменялась с момента (может быть, с версии WooCommerce 3) и не имеет никакого отношения к этой проблеме.
Похоже, что это ошибка, подобная той, которая возникает из taxonomy_exists()
условной функции WordPress, так как если вы посмотрите на wp_term_taxonomy
связанную таблицу, вы увидите, что таксономия pa_floor
зарегистрирована, поэтому проблема возникает из WordPress.
Комментарии:
1. Только внутри
init
хукаtaxonomy_exists()
функция возвращаетtrue
для этой таксономии атрибутов продуктов, вwoocommerce_init
иplugins_loaded
хуках она всегда возвращаетfalse
. Это должно работать вwoocommerce_init
, верно? Похоже, это небольшая ошибка, введенная в один из недавних выпусков WooCommerce.2. @strarsis Поскольку плагины загружаются после загрузки WordPress, я не уверен, что это происходит из WordPress или WooCommerce. Вы должны сообщить об этой проблеме в WooCommerce Github.