Reputation: 47
I am creating a woocommerce shop(Astra theme) with Elementor. Now I have some products, but when you click those product you go to the Single product page of that specific product. I want to remove the link from the product & don't want to go to the single product page.
What I have tried is: Creating A section with the class "items"(All products are in this section). Within that class I added this CSS to hide the A tag from the woocommerce product but it doesn't work.
.items .woocommerce-loop-product__title a{
pointer-events: none !important;
cursor: default !important; }
Upvotes: 3
Views: 9330
Reputation: 4100
USING CSS
The use of a CSS rule cannot be universal but varies according to the theme used.
This way you are only disabling the title link but not the one on the image (there are more links in the product box).
I use the Storefront theme.
Try this to remove the link to the product page except the Add to cart button:
body.archive .woocommerce-loop-product__link {
pointer-events: none;
cursor: default;
}
Try this instead to remove the link to the entire product box (also to the Add to Cart button):
body.archive ul.products li {
pointer-events: none;
cursor: default;
}
The code has been tested and works. Add it to your active theme's stylesheet.
USING PHP
The loop product permalink is created via the woocommerce_template_loop_product_link_open
function of WooCommerce.
In /woocommerce/includes/wc-template-hooks.php
you find the hooks:
add_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );
add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_product_link_close', 5 );
So to remove product page links you can use this:
remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_product_link_close', 5 );
Add these two lines to your active theme's functions.php.
If that doesn't work for you either, the theme you are using most likely overrides the link creation function. In this case you should check your theme's template files or contact support directly.
Other helpful answers:
Upvotes: 6