#php #wordpress #woocommerce #hook-woocommerce
#php #wordpress #woocommerce #крюк-woocommerce
Вопрос:
Я пытаюсь сделать краткое описание продукта ниже изображения функции продукта на странице магазина woocommerce. Я использовал крючки магазина woocommerce для того же. Но проблема в том, что описание продукта отображается поверх изображения. пожалуйста, посмотрите изображение, прикрепленное ниже.
Код обрезан functions.php
function woocommerce_after_shop_loop_item_title_short_description() {
global $product;
if ( ! $product->get_short_description() ) return;
?>
<div itemprop="description">
<?php echo apply_filters( 'woocommerce_short_description', $product->get_short_description() ) ?>
</div>
<?php
}
add_action('woocommerce_after_shop_loop_item_title', 'woocommerce_after_shop_loop_item_title_short_description', 5);
Я искал и пробовал разные решения и пробовал разные крючки магазина woocommerce, упомянутые здесь: (woocommerce_shop_loop_item_title и т. Д.) https://www.tychesoftwares.com/woocommerce-shop-page-hooks-visual-guide-with-code-snippets / но не повезло.
Также кто-нибудь может сказать мне, как установить фиксированный размер изображения на странице магазина, используя крючки woocommerce, чтобы оно не искажалось (размер изображения ниже не совпадает) Любая помощь будет очень признательна.
Комментарии:
1. Работает ли это при переключении на тему витрины магазина WooCommerce по умолчанию?
2. @terminator-barbapapa я попытался переключить ту же проблему.. Есть идеи, почему это не удается, или какие-либо предложения?
Ответ №1:
Основываясь на вашем скриншоте и том факте, что это также происходит с темой витрины магазина по умолчанию, я бы предположил, что вы настроили способ вызова эскиза вашего продукта. Перемещение его с woocommerce_before_shop_loop_item_title
крючка на woocommerce_after_shop_loop_item_title
крючок.
В этом случае изменение приоритета помогло бы. Пожалуйста, попробуйте следующее:
add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_after_shop_loop_item_title_short_description', 20 );
function woocommerce_after_shop_loop_item_title_short_description() {
global $product;
if ( $short_description = $product->get_short_description() ) {
printf( '<div itemprop="description">%s</div>', $short_description );
}
}