описание продукта не отображается после изображения функции — магазин woocommerce

#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 );
    }
}