TECH-woo-logo-hoz-rgb-750×390-720×225

Woocommerce — Добавление кнопки «Подробнее» (рядом с «Добавить в корзину»)

Данный код в начале удаляет кнопку  «Добавить в корзину» а затем вставляет две кнопки «Подробнее» и «Добавить в корзину»

Добавить в function.php

/*Удаляем кнопку Добавить в корзину */
function remove_loop_button(){
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
}
add_action('init','remove_loop_button');

/* Добавляем кнопку подробнее*/
add_action('woocommerce_after_shop_loop_item','replace_add_to_cart');
function replace_add_to_cart() {
global $product;
$link = $product->get_permalink();
echo do_shortcode('<a href="'.$link.'" class="button addtocartbutton">Подробнее</a>');
}
/* Добавляем кнопку в Корзину*/
add_action( 'after_setup_theme', 'lets_add_cart_button' );
function lets_add_cart_button () {
  add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 20 );
}

/*Удаление кнопки подробнее*/
add_action( 'woocommerce_after_shop_loop_item', 'add_my_morebutton', 20);
function add_my_morebutton( ) {

}

При наличии на странице магазина товаров которых нет на складе, код описанный выше работает не совсем корректно. Так как под товарами которых на складе нет, будет отображаться две кнопки «Подробнее».

Для удаления лишней кнопки применяем jQuery код написанный ниже:

/*Удаление кнопки подробнее для товаров которых нет на складе*/
jQuery(document).ready(function($){
var podrobnee_in_add_to_card = $("span.nxowoo-box a.button.product_type_simple.ajax_add_to_cart:contains('Подробнее')").remove();
//alert(podrobnee_in_add_to_card.text())	;

$('button.button.woof_reset_search_form').click(function() {
	var podrobnee_in_add_to_card = $("span.nxowoo-box a.button.product_type_simple.ajax_add_to_cart:contains('Подробнее')").remove();
});