Для определенной категории продуктов (или категорий продуктов) следующий код будет:
- Удалить ссылку на продукт
- Удалить кнопку подфото товара
в магазине и на страницах архива.
В обеих функциях вам нужно определить целевую категорию продукта (или категории продуктов):
add_action( 'init', 'custom_shop_loop_items' );
function custom_shop_loop_items() {
remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );
add_action( 'woocommerce_before_shop_loop_item', 'custom_template_loop_product_link_open', 10 );
}
// Removing the product link
function custom_template_loop_product_link_open() {
global $product;
// HERE define your product categories in the array (can be either IDs, slugs or names)
$terms = array( 't-shirts', 'hoods' ); // Coma separated
$link = apply_filters( 'woocommerce_loop_product_link', get_the_permalink(), $product );
if( has_term( $terms, 'product_cat', $product->get_id() ) )
echo '<a class="woocommerce-LoopProduct-link woocommerce-loop-product__link">';
else
echo '<a href="' . esc_url( $link ) . '" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">';
}
// Removing the product button
add_filter( 'woocommerce_loop_add_to_cart_link', 'filter_loop_add_to_cart_link', 20, 3 );
function filter_loop_add_to_cart_link( $button, $product, $args = array() ) {
// HERE define your product categories in the array (can be either IDs, slugs or names)
$terms = array( 't-shirts', 'hoods' ); // Coma separated
if( has_term( $terms, 'product_cat', $product->get_id() ) )
$button = '';
return $button;
}
Код находится в файле function.php вашей активной дочерней темы (или активной темы),Проверено и работает.