woocommerce составные заголовки. Заголовок из несколько полей
Можно ли в Woo сделать как составные заголовки ?
У меня много товаров и они все называются сначала так: "Полнорационный сухой корм для взрослых котов......" вместо точек идут разные вкусовые добавки "с уткой" и еще бывает в заголовке типа что это дает животному "блеск шерсти".
В админку планируеться так заполнять

При этом заголовки хоть и состоят из несколько полей но везде должно быть как 1 целый выводиться.
Конечная цель в том чтоб в списке можно было красиво заголовки выводить.
Ответы (2 шт):
Поставьте фильтры на заголовки
remove_action( 'woocommerce_shop_loop_item_title','woocommerce_template_loop_product_title', 10 );
remove_action('woocommerce_single_product_summary','woocommerce_template_single_title',5);
add_action('woocommerce_shop_loop_item_title', 'custom_woocommerce_shop_loop_item_title', 10 );
add_action('woocommerce_single_product_summary', 'custom_woocommerce_shop_loop_item_title',5);
function custom_woocommerce_shop_loop_item_title() {
$title = get_the_title();
$title1 = get_field('title1', get_the_ID());
$title2 = get_field('title2', get_the_ID());
echo $title.' '.$title1.' '.$title2;
}
где фрагмент предполагает использование acf
$title1 = get_field('title1', get_the_ID());
$title2 = get_field('title2', get_the_ID());
На сколько понимаю это кастомные поля: "С чем корм" и "Что дает нам это", следовательно в шаблоне страницы где получаете H1 добавьте вывод этих полей, пример:
<h1><?=the_title()?> <? the_field('s-chem-korm') ?> <? the_field('chto-daet-eto-nam') ?></h1>
или
<h1><? echo get_the_title() . " " . get_the_field(s-chem-korm') . " " . get_the_field('chto-daet-eto-nam'); ?></h1>
Или с проверкой на заполнение:
<?
if (isset(get_the_field('s-chem-korm')) && !empty(get_the_field('s-chem-korm'))) {
$cf1 = get_the_field('s-chem-korm');
}
if (isset(get_the_field('chto-daet-eto-nam')) && !empty(get_the_field('chto-daet-eto-nam'))) {
$cf2 = get_the_field('chto-daet-eto-nam');
}
?>
Выводим:
<h1><? echo get_the_title() . " " . $cf1 . " " . $cf2; ?></h1>