WooCommerce: добавить описания продуктов под элементами на странице одного элемента - PullRequest
2 голосов
/ 15 мая 2019

Я хотел бы отобразить описание продукта для каждого (варианта) элемента прямо под соответствующим эскизом.Поэтому, когда я щелкаю по каждой миниатюре, и основное изображение отображается, под ним будет написано его описание, как показано на диаграмме ниже.

Я думаю, что это код для отображения описания:

<?php echo $value[‘variation_description’];?>

Но какой шаблон мне нужно редактировать?Я просмотрел папку WooCommerce, но не смог найти нужный мне шаблон.

Редактировать: Мне кажется, product-image.php - это шаблон, который мне нужно редактировать, но куда мне вставить строку выше?

<div class="<?php echo esc_attr( implode( ' ', array_map( 'sanitize_html_class', $wrapper_classes ) ) ); ?>" data-columns="<?php echo esc_attr( $columns ); ?>" style="opacity: 0; transition: opacity .25s ease-in-out;">
    <figure class="woocommerce-product-gallery__wrapper">
        <?php
        if ( $product->get_image_id() ) {
            $html = wc_get_gallery_image_html( $post_thumbnail_id, true );
        } else {
            $html  = '<div class="woocommerce-product-gallery__image--placeholder">';
            $html .= sprintf( '<img src="%s" alt="%s" class="wp-post-image" />', esc_url( wc_placeholder_img_src( 'woocommerce_single' ) ), esc_html__( 'Awaiting product image', 'woocommerce' ) );
            $html .= '</div>';
        }

        echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', $html, $post_thumbnail_id ); // phpcs:disable WordPress.XSS.EscapeOutput.OutputNotEscaped

        do_action( 'woocommerce_product_thumbnails' );
        ?>
    </figure>
</div>

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

В итоге я использовал эту функцию , созданную Джоном Билесом .По-другому он подходит к проблеме, отображая заголовок изображения (устанавливается в настройках мультимедиа).Прекрасно работает.

function gcw_insert_captions( $html, $attachment_id ) {
    $captions = '';
    $title = get_post_field( 'post_title', $attachment_id );
    if( !empty( $title ) ) {
        $captions .= '<h5>' . esc_html( $title ) . '</h5>';
    }
    $description = get_post_field( 'post_excerpt', $attachment_id );
    if( !empty( $description ) ) {
        $captions .= '<p>' . $description . '</p>';
    }
    if( !empty( $captions ) ) {
        $captions = '<div class="gcw-caption">' . $captions . '</div>';

        $html = preg_replace('~<\/div>$~', $captions . '</div>', $html );
    }
    return $html;
}
add_filter( 'woocommerce_single_product_image_thumbnail_html', 'gcw_insert_captions', 10, 2 );
0 голосов
/ 15 мая 2019

Нет такого хука, который может помочь вам добавить описание под изображением товара напрямую, но вы можете добавить его под миниатюрами. используя этот крючок

 add_action( 'woocommerce_after_single_product_summary' , 'content_add_below_prod_gallery', 5 );

    function content_add_below_prod_gallery() {
       echo 'Hello';
    }

в противном случае вы можете редактировать файл product-image.php, который вы можете найти в WooCommerce / шаблоны / одного productproduct-image.php

Примечание. Этот шаблон можно перезаписать, скопировав его в yourtheme / woocommerce / single-product / product-image.php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...