@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 изображения в соответствующих местах.