• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Изменить заголовок товара wooCommerce

MakcuM

Новичок
#1
По умолчанию h1 и title товара равны названия продукта.
Установил all in one seo, но не нашел задания тайтлов для отдельных товаров.

Хочу некоторым товарам задать отдельные тайтлы и ш1, а остальным оставить стандартные (название продукта). Как это реализовать?

Идея: задать "произвольное поле" в админке с именами, например, custom_tlt и custom_h1 и прописать в коде
если custom_tlt не empty, то выводим его в качестве тайтла, если пусто, то стандартный, аналогично для ш1. Подскажите, пожалуйста, как задать поле в админке, и как в коде задать эту проверку? или может есть более простой способ?
 

MakcuM

Новичок
#3
Спасибо
как я понимаю, это так должно выглядеть $custom_h1_value=get_post_meta($post->ID, 'custom_h1', true)
и в админке поле называю custom_h1
верно?

в wp-content/plugins/woocommerce/templates/single-product title.php
и в нем
the_title( '<h1 class="product_title">', '</h1>' );


и есть еще functions.php в wp-includes, которая так ненавязчиво выводит заголовок
<title><?php echo $title ?></title>
но нет, она не определяет тайт (удалял, тайтл все равно выводится)

Подскажите, пожалуйста, где искать сами вызовы функций или переменные, значения которых мне надо заменить
 

artemkomarov

Специалист
Местный
#4
и в админке поле называю custom_h1
верно?
Да верно.

в wp-content/plugins/woocommerce/templates/single-product title.php
Да именно здесь и добавляем ваш код что то типа:

PHP:
$custom_h1 = get_post_meta($post->ID, 'custom_h1', true);

if ( $custom_h1 ) {
    echo '<h1 itemprop="name" class="product_title entry-title">' . $custom_h1 . '</h1>';
} else {
    the_title( '<h1 itemprop="name" class="product_title entry-title">', '</h1>' );
}