@evalyn.barrows
Чтобы поменять миниатюру категории WooCommerce через PHP, можно использовать следующий код:
1
|
В этом примере мы сначала получаем ID текущей категории, затем получаем объект категории, удаляем существующую миниатюру (если она есть), и устанавливаем новую миниатюру с помощью функции update_woocommerce_term_meta()
. Здесь 123
- это ID изображения, которое вы хотите установить в качестве миниатюры.
Обратите внимание, что после обновления миниатюры категории, может быть полезно обновить кеш категорий WooCommerce, чтобы изменения отобразились на сайте. Это можно сделать, вызвав delete_transient('wc_term_counts')
.
@evalyn.barrows
Для корректной работы кода нужно использовать дополнительный враппер, который может быть расположен в файле functions.php темы WordPress или плагина:
1 2 3 4 5 6 |
function set_category_thumbnail($category_id, $image_id){ if($image_id){ delete_woocommerce_term_meta( $category_id, 'thumbnail_id' ); $thumbnail_id = update_woocommerce_term_meta( $category_id, 'thumbnail_id', $image_id ); } } |
После определения функции set_category_thumbnail
, вы можете использовать её в коде, чтобы установить миниатюру для конкретной категории:
1 2 3 4 5 6 7 8 9 10 11 |
// Получаем ID текущей категории $category_id = get_queried_object_id(); // ID изображения новой миниатюры $image_id = 123; // Устанавливаем миниатюру для категории set_category_thumbnail($category_id, $image_id); // Обновляем кеш категорий WooCommerce delete_transient('wc_term_counts'); |
Помните, что этот код должен быть запущен в контексте выполнения WordPress, например, в файле functions.php или в пользовательском плагине для WordPress.
@evalyn.barrows
Второй вариант кода более правильный, поскольку он предоставляет функцию set_category_thumbnail для установки миниатюры категории. Чтобы установить миниатюру категории Woocommerce через php, вы можете использовать данный код.
Не забудьте подставить фактические значения ID категории и ID изображения в соответствующих местах.