Как копировать шаблон блока гутенберга «Выбранные вручную товары» woocommerce в папку шаблона сайта?

Ссылка скопирована
1 ответ

Добрый день. Есть штатный блок для гутенберга "Выбранные вручную товары". Скажите пожалуйста, его можно копировать к себе в шаблон и кастомизировать шаблон вывода на странице?

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Frontend-редакция Ответ

Штатные Gutenberg-блоки WooCommerce, включая “Выбранные вручную товары”, устроены не так, как классические PHP-шаблоны WooCommerce. Их нельзя просто скопировать как content-product.php в папку темы и спокойно переопределить. Большая часть логики находится в JS/React-блоке и серверных render callback.

Если задача — немного поменять внешний вид, начните с CSS. У блока есть классы, которые можно стилизовать в теме:

.wp-block-handpicked-products .wc-block-grid__product {
  border-radius: 12px;
}
 
.wp-block-handpicked-products .wc-block-grid__product-title {
  font-weight: 700;
}

.wp-block-handpicked-products .wc-block-grid__product { border-radius: 12px; } .wp-block-handpicked-products .wc-block-grid__product-title { font-weight: 700; }

Если нужно поменять структуру карточки товара во всех WooCommerce grid-блоках, смотрите hooks и фильтры WooCommerce Blocks. Но это сложнее, чем переопределение классических шаблонов.

Практический альтернативный путь: не использовать штатный блок “Выбранные вручную товары”, а сделать свой блок/шорткод. Например, хранить выбранные ID товаров в ACF-поле или атрибуте блока и выводить товары своим WP_Query/WC_Query через обычный PHP-шаблон.

$products = wc_get_products([
    'include' => [12, 34, 56],
    'limit' => 3,
]);
 
foreach ($products as $product) {
    wc_get_template_part('content', 'product');
}

$products = wc_get_products([ 'include' => [12, 34, 56], 'limit' => 3, ]); foreach ($products as $product) { wc_get_template_part('content', 'product'); }

Если нужно именно копировать шаблон, проще использовать классический shortcode:

[products ids="12,34,56"]

[products ids="12,34,56"]

И переопределять стандартные WooCommerce templates в дочерней теме. Для Gutenberg-блока прямого “скопировал шаблон в тему” обычно нет.

Итог: для косметики — CSS. Для полного контроля — свой блок/шорткод или классический WooCommerce loop. Кастомизировать внутренний React-блок WooCommerce как обычный PHP-шаблон не стоит, это будет хрупко.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно