• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Tittle категорий товаров WooCommerce

Palovnik228

Новичок
Добрый день.
У меня никак не получается настроить индивидуальный title для каждой страницы категории.
Для вывода тега <title> используется вот такой код в function.php:

function kama_meta_title ($bloginfo_name='Dovakin-Store - магазин ключей и аккаунтов'){
global $wp_query,$post;
if (!$bloginfo_name) $bloginfo_name = get_bloginfo('name');
$wp_title = wp_title($sep, 0, 'right');

if (is_category() || is_tag()){
$desc = $wp_query->queried_object->description;
if ($desc) preg_match ('!\[title=(.*)\]!iU',$desc,$match);
$out = $match[1] ? $match[1].$sep : ((is_tag())?"Метка:":"Категория:")." $wp_title";
}
elseif (is_tax( 'product_cat' )) $out = $wp_title;
elseif (is_singular()) $out = ($free_title = get_post_meta($post->ID, "title", true)) ? $free_title.$sep : $wp_title;
elseif (is_author()) $out = "Статьи автора: $wp_title";
elseif (is_day() || is_month() || is_year()) $out = "Архив за: $wp_title";
elseif (is_search()) $out = 'Результаты поиска по запросу: '. strip_tags($_GET['s']) . $sep;
elseif (is_404()) $out = "Ошибка 404 - страница не существует".$sep.$wp_title;
elseif ( is_front_page() || is_home() )
echo 'Dovakin-Store - Магазин ключей и аккаунтов с кешбеком' ;


if ($paged = get_query_var('paged')) $out = "$out (страница $paged)";
return print $out;
}

Для товаров и отдельных страниц title легко настраивается с помощью произвольных полей. Но в настройках категорий произвольных полей просто нет. Пытался создать произвольные поля в разделе категорий, но сделать это у меня не получилось. Пробовал реализовать всё вот этим кодом:

add_action("product_cat_edit_form_fields", 'mayak_category_meta');
function mayak_category_meta( $term ) {
?>
<tr class="form-field">
<th scope="row" valign="top"><label>Заголовок (title)</label></th>
<td>
<input type="text" name="mayak[title]" value="<?php echo esc_attr( get_term_meta( $term->term_id, 'title', 1 ) ) ?>"><br />
<p class="description">Не более 60 знаков, включая пробелы</p>
</td>
</tr>
<tr class="form-field">
<th scope="row" valign="top"><label>Краткое описание (description)</label></th>
<td>
<input type="text" name="mayak[description]" value="<?php echo esc_attr( get_term_meta( $term->term_id, 'description', 1 ) ) ?>"><br />
<p class="description">Краткое описание (description)</p>
</td>
</tr>



<?php
}

function mayak_save_meta( $term_id ) {
if ( ! isset($_POST['mayak']) )
return;
$mayak = array_map('trim', $_POST['mayak']);
foreach( $mayak as $key => $value ){
if( empty($value) ){
delete_term_meta( $term_id, $key );
continue;
}
update_term_meta( $term_id, $key, $value );
}
return $term_id;
}
add_action("create_product_cat", 'mayak_save_meta');
add_action("edited_product_cat", 'mayak_save_meta');

function mayak_filter_single_cat_title($term_name) {
$terms = get_product_cat( get_query_var('cat'));
$cat_id = $terms->cat_ID;
$term_name = get_term_meta ($cat_id, 'title', true);
return $term_name;
}
add_filter('single_cat_title', 'mayak_filter_single_cat_title', 10, 1 );

Не получилось, т.к. не смог найти аналог хука single_cat_title для woocommerce.

Надеюсь, вы поможете мне перепилить этот код под woocommerce или посоветуете какой-нибуть плагин, который позволит менять title и description у товаров, страниц и категорий woocommerce.
На всякий случай вот ссылка на страницу категории.
Заранее спасибо.
 
Сверху Снизу