Обновление 2
Вот способ сделать это, используя эту пользовательскую функцию, подключенную к woocommerce_short_description
фильтр-хуку, который заменит определенные пользовательские теги на значения данных продукта в кратком описании на отдельных страницах продукта.
Теперь, когда товар может иметь много товарных категорий и много товарных марок , я оставляю только первый.
код:
add_filter('woocommerce_short_description', 'customizing_wc_short_description', 20, 1);
function customizing_wc_short_description($short_description){
if( is_archive() ) return $short_description;
global $product, $post;
// 1. Product categories (a product can have many)
$catgories = array();
foreach( wp_get_post_terms( $post->ID, 'product_cat' ) as $term ){
$term_link = get_term_link( $term, 'product_cat' );
$catgories[] = '<a class="cat-term" href="'.$term_link.'">'.$term->name.'</a>'; // Formated
}
// 2. Product brands (a product can have many)
$brands = array();
foreach( wp_get_post_terms( $post->ID, 'product_brand' ) as $term ){
$term_link = get_term_link( $term, 'product_brand' );
$brands[] = '<a class="brand-term" href="'.$term_link.'">'.$term->name.'</a>'; // Formated
}
// 3. The data array of tags to be replaced by product values
$data = array(
'%product_name%' => $product->get_name(),
'%category_name%' => reset($catgories), // We take the first product category
'%brand_name%' => reset($brands),
);
$keys = array_keys($data); // The Tags
$values = array_values($data); // The replacement values
// Replacing custom tags and returning "clean" short description
return str_replace( $keys, $values, $short_description);
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.