Добавляю к созданным через API WP таксономиям поле для добавления картинки.
Если вбивать название таксономий в массив в ручную то все нормально работает: (код ниже)
$taxonomies = [
'catalog' => 'catalog',
'size' => 'size'
];
foreach ($taxonomies as $taxonomy) {
add_action("{$taxonomy}_add_form_fields", 'meta_cat_fill_image', 10, 2 );
add_action("{$taxonomy}_edit_form_fields", 'meta_cat_fill_image', 10 );
add_action("edited_{$taxonomy}", 'save_meta_cat_fill_image', 10, 2 );
add_action("create_{$taxonomy}", 'save_meta_cat_fill_image', 10, 2 );
}
Но при попытке получить все таксономии через функцию wp "get_object_taxonomies" все ломается, т.е. такой код уже не работает:
$taxonomies = get_object_taxonomies('products', 'objects');
foreach ($taxonomies as $taxonomy) {
add_action("{$taxonomy->name}_add_form_fields", 'meta_cat_fill_image', 10, 2 );
add_action("{$taxonomy->name}_edit_form_fields", 'meta_cat_fill_image', 10 );
add_action("edited_{$taxonomy->name}", 'save_meta_cat_fill_image', 10, 2 );
add_action("create_{$taxonomy->name}", 'save_meta_cat_fill_image', 10, 2 );
}
Проблема явно в том что данные не приходят в $taxonomies и соответственно в цикле пробегать нечего.
Тут что то связанно с порядком обработки, понять не могу что именно. Пихал код и в начало function.php и в конец, не помогает.