Открывайте окно быстрого просмотра при нажатии на миниатюру товара в WooCommerce - PullRequest
2 голосов
/ 29 февраля 2020

Я использую код для отображения миниатюр продуктов и для функции «Быстрый просмотр».

Вот код для миниатюры продукта:

// Change product thumbnail markup.
remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail' );
add_action( 'woocommerce_before_shop_loop_item_title', array( __CLASS__, 'product_thumbnail' ) );

/**
* Product thumbnail.
*/
public static function product_thumbnail() {
    global $product;

    switch ( konte_get_option( 'shop_product_hover' ) ) {

        default:
            echo '<div class="product-thumbnail">';             
            woocommerce_template_loop_product_thumbnail();              
            echo '</div>';
            break;
    }
}

Вот код для " Значок «Быстрый просмотр»:

/**
* Quick view button.
*/
public static function quick_view_button() {
    if ( ! konte_get_option( 'product_quickview' ) ) {
        return;
    }

    printf(
        '<a href="%s" class="quick_view_button quick-view-button button" data-toggle="%s" data-target="%s" data-product_id="%s" rel="nofollow">
            %s
        </a>',
        esc_url( get_permalink() ),
        'modal' == konte_get_option( 'product_quickview_style' ) ? 'modal' : 'off-canvas',
        'modal' == konte_get_option( 'product_quickview_style' ) ? 'quick-view-modal' : 'quick-view-panel',
        esc_attr( get_the_ID() ),
        konte_svg_icon( 'icon=eye&echo=0' )
    );
}

Вот файл с этим кодом - template-catalog. php

Мне это нужно, когда я нажимаю на миниатюре продукта отображается окно быстрого просмотра. Помогите совместить эти два кода. Заранее спасибо!

1 Ответ

2 голосов
/ 04 марта 2020

В файле product-catalog.php есть два действия, в которые вы можете зацепиться, чтобы обернуть миниатюру продукта:

woocommerce_before_shop_loop_item: добавляет HTML код перед миниатюрой woocommerce_after_shop_loop_item: добавляет HTML код после миниатюры

Вы должны добавить следующий код в файл functions.php:

function my_custom_link_open() {
    printf(
        '<a href="%s" class="quick_view_button quick-view-button button" data-toggle="%s" data-target="%s" data-product_id="%s" rel="nofollow">',
        esc_url( get_permalink() ),
        'modal' == konte_get_option( 'product_quickview_style' ) ? 'modal' : 'off-canvas',
        'modal' == konte_get_option( 'product_quickview_style' ) ? 'quick-view-modal' : 'quick-view-panel',
        esc_attr( get_the_ID() )
    );
}

function my_custom_link_close(){
      echo '</a>';
  }

add_action ('woocommerce_before_shop_loop_item', 'my_custom_link_open');
add_action ('woocommerce_after_shop_loop_item', 'my_custom_link_close');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...