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

Добавить дополнительное описание(маленькое) в каталог

Image CMS

prandros

Новичок
#1
Нужно сделать что то подобное,как на фото:

QIP Shot - Screen 066.png




Что бы для каждого товара прописывался данный текст и отображался в этом месте. Кто что посоветует?
 

searchingman

Гуру
Местный
#4
Н-р, добавили поле cf_short_description с содержимым для товара http://take.ms/QzDaQ .
В functions.php своей темы добавляете код.
PHP:
add_action('woocommerce_after_shop_loop_item','cf_woocommerce_after_shop_loop_item');
function cf_woocommerce_after_shop_loop_item() {
    global $post;
    if (get_post_meta($post->ID, 'cf_short_description', true)) 
        echo '<span class="cf_short_description">'.get_post_meta($post->ID, 'cf_short_description', true).'</span>';
}
На примере темы storefront результат http://take.ms/vRUIA
 
Последнее редактирование:

prandros

Новичок
#5
Заработало!
Большое спасибо,очень помог!

Ты по документации разбираешься или как?
 

prandros

Новичок
#7
А можешь еще помочь. Нужно вывести эти же данные в карточку товара,прямо под ценой.
 

searchingman

Гуру
Местный
#8
А можешь еще помочь. Нужно вывести эти же данные в карточку товара,прямо под ценой.
К вышеприведенному коду в functions.php добавить
PHP:
add_action('woocommerce_single_product_summary','cf_woocommerce_after_shop_loop_item',25);
Для темы storefront будет выглядеть так http://take.ms/jB0IS
 

searchingman

Гуру
Местный
#10
Ошибка( royal-cup.com.ua/shop/kartonny-j-stakan-110ml-dizajn-tea-time/
У Вас функция cf_woocommerce_after_shop_loop_item не существует. Я же написал, что код добавить "дополнительно к вышеуказанному коду". Т.е. в functions.php должно быть так
PHP:
add_action('woocommerce_after_shop_loop_item','cf_woocommerce_after_shop_loop_item');
add_action('woocommerce_single_product_summary','cf_woocommerce_after_shop_loop_item',25);
function cf_woocommerce_after_shop_loop_item() {
    global $post;
    if (get_post_meta($post->ID, 'cf_short_description', true))
        echo '<span class="cf_short_description">'.get_post_meta($post->ID, 'cf_short_description', true).'</span>';
}
 
Последнее редактирование:

kvo

Форумчанин
#11
Всем привет, сделал так же , тема Flatsome
Создал дополнительное поле: cf_short_description
Вставил код:
Код:
add_action('woocommerce_after_shop_loop_item','cf_woocommerce_after_shop_loop_item');
add_action('woocommerce_single_product_summary','cf_woocommerce_after_shop_loop_item',25);
function cf_woocommerce_after_shop_loop_item() {
 global $post;
 if (get_post_meta($post->ID, 'cf_short_description', true))
 echo '<span class="cf_short_description">'.get_post_meta($post->ID, 'cf_short_description', true).'</span>';
}

В карточке товара вес отображается нормально, а в каталоге уехало под кнопку "Добавить в корзину".
Что нужно сделать, чтобы в каталоге тоже вес отображался над кнопкой, как в карточке товара?
Спасибо.

0001.jpg 0002.jpg
 

searchingman

Гуру
Местный
#12
Попробуйте уменьшить приоритет в хуке, т.е.
PHP:
add_action('woocommerce_after_shop_loop_item','cf_woocommerce_after_shop_loop_item',5);
 

kvo

Форумчанин
#15
А , я балда , менял тут))
Код:
add_action('woocommerce_single_product_summary','cf_woocommerce_after_shop_loop_item',25);

добавил ваш код

Код:
add_action('woocommerce_after_shop_loop_item','cf_woocommerce_after_shop_loop_item',5);
и теперь появился дубль

0003.jpg
 

searchingman

Гуру
Местный
#16
А , я балда , менял тут))
Код:
add_action('woocommerce_single_product_summary','cf_woocommerce_after_shop_loop_item',25);

добавил ваш код

Код:
add_action('woocommerce_after_shop_loop_item','cf_woocommerce_after_shop_loop_item',5);
и теперь появился дубль

Посмотреть вложение 1638
Нужно не добавлять, но заменять.
Т.е. вместо
PHP:
add_action('woocommerce_after_shop_loop_item','cf_woocommerce_after_shop_loop_item');
вставить
PHP:
add_action('woocommerce_after_shop_loop_item','cf_woocommerce_after_shop_loop_item',5);
 

jkapro

Новичок
#20
Searchingman, помогите пожалуйста. Как дополнительную строку вывести в блоке где указан артикул, цена. И что бы перед самой надписью по умолчанию стояло слово например "Код:" , в карточке товара это слово было а на странице товаров в категориях его не было. Как бы сделать аналог артикул. Спасибо!
 
Сверху Снизу