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

Решено Дополнительное описание в категориях

Image CMS

that

Новичок
#1
Добрый день. Необходимо добавить дополнительное описание в категориях под товарами (т.е. текст-товары-текст). Как лучше это реализовать?
 

searchingman

Гуру
Местный
#2
В Wordpress 4.4. появилась возможность добавлять/читать мета поля у таксономий (категории, метки и т.д.), но визуального интерфейса для создания не видел.
Есть плагин Category and Taxonomy Meta Fields с помощью которого можно визуально задать нужные доп. поля для таксономий.
После этого, новое поле появляется при редактировании элемента таксономии.
В нужном месте шаблона новое поле элемента таксономии, согласно мануалу к плагину, можно вывести кодом
PHP:
<?php
if (function_exists('wp_get_terms_meta'))
{
  $MetaValue = wp_get_terms_meta($category_id, $meta_key ,true);
}

//meta value for meta key $meta_key
echo $metaValue;

?>
 
Последнее редактирование:

that

Новичок
#3
Поставил, прописал, но в редактировании категории появился только заголовок Term meta без поля ввода.
 

that

Новичок
#5
Таксономию для категорий товаров правильно указали ?
Нужно так http://take.ms/Y4t3H
Нет, было category.

Правильно я понимаю, что в шаблоне нужно редактировать тема/woocommerce/archive-product.php?


Код:
<?php
if (function_exists('wp_get_terms_meta'))
{
  $MetaValue = wp_get_terms_meta($category_id, $meta_key ,true);
}

//meta value for meta key $meta_key
echo $metaValue;

?>
 

searchingman

Гуру
Местный
#6
Нет, было category.

Правильно я понимаю, что в шаблоне нужно редактировать тема/woocommerce/archive-product.php?


Код:
<?php
if (function_exists('wp_get_terms_meta'))
{
  $MetaValue = wp_get_terms_meta($category_id, $meta_key ,true);
}

//meta value for meta key $meta_key
echo $metaValue;

?>
Чтобы на странице категории товаров вывести после товаров дополнительное описание из мета поля 'category2' в functions.php своей темы вставьте код.
PHP:
function my_woocommerce_after_shop_loop() {
    if (function_exists('wp_get_terms_meta') && is_product_category())    {
        $cate = get_queried_object();
        $category_id = $cate->term_id;
        $MetaValue = wp_get_terms_meta($category_id, 'category2' ,true);
        echo $MetaValue;
    }
    return;
}
add_action('woocommerce_after_shop_loop', 'my_woocommerce_after_shop_loop',5);
На примере темы storefront выглядит так: http://take.ms/4BUCB
 

Indigo

Новичок
#8
Давайте по шагам:
1. Устанавливаете плагин Category and Taxonomy Meta Fields
2. Активируете плагин и переходите в админке в левом меню Настройки > Texonomy Meta.​
upload_2016-8-19_10-20-17.png
3. Настраиваете нужное поле. Например, вывод дополнительного СЕО-описания для категорий выглядит так:​
upload_2016-8-19_10-21-10.png
Meta key обязательно латиницей без пробелов, далее YES, тип поля - WYSIWYG (визуальный редактор) и таксономия product_cat.​

4. Теперь переходим в админке в любую категорию товара и там появилось дополнительное поле desc2. Заполняем его:
upload_2016-8-19_10-25-4.png
5. Теперь осталось дело за малым. Открываем папку с темой и в файл functions.php добавляем строку:​
PHP:
// Дополнительное описание категорий
function my_woocommerce_after_shop_loop() {
    if (function_exists('wp_get_terms_meta') && is_product_category())    {
        $cate = get_queried_object();
        $category_id = $cate->term_id;
        $MetaValue = wp_get_terms_meta($category_id, 'desc2' ,true);
        echo $MetaValue;
    }
    return;
}
add_action('woocommerce_after_shop_loop', 'my_woocommerce_after_shop_loop',5);
где 'desc2' это наш meta key заданный в админке.

 

kulisum

Новичок
#9
Огромное спасибо! Неделю ищу решение, только у вас оно понятное и рабочее))
Только один ньюанс, сеошники сказали ставить абзацы в тег <p> а у меня он в дополнительном описании не воспринимается. тег h1, h2 рабочий, переносила абзацы с помощью &nbsp; пока, но может можно поправить как то?
 
Сверху Снизу