Ich möchte den Link aus den Woocommerce-Produktlisten entfernen. Ich brauche den Benutzer nicht, um die Produktdetailseiten zu sehen, wir werden stattdessen die Schnellansicht verwenden. Egal, ich habe gesucht und alles, was ich gefunden habe, ist veraltet. Dies ist die aktuelle content-product.php
Datei: https://github.com/woothemes/woocommerce/blob/master/templates/content-product.php und es gibt keine Anker-Tags, die einfach entfernt werden könnten.
Ich brauche vielleicht einen Haken, bin mir aber nicht sicher, was ich tun soll. Ich habe ein paar ausprobiert, aber der Link war immer noch da. Zum Beispiel hat das nicht funktioniert, als es zu meiner functions.php hinzugefügt wurde:
add_filter('woocommerce_template_loop_product_link_open','mbc_remove_link_on_thumbnail' );
function mbc_remove_link_on_thumbnail($html){
return strip_tags($html,'<img>');
}
Ich habe es auch versucht, was nicht funktioniert hat, aber ich habe das Gefühl, dass es nahe ist:
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);
Ich bin mir nicht sicher, ob ich überhaupt auf dem richtigen Weg bin. Jede Hilfe wäre dankbar!
Ich habe dazu eine Kopie von content-product.php erstellt und in das Stammverzeichnis Ihres Designordners eingefügt.
Auskommentieren
do_action( 'woocommerce_before_shop_loop_item_title' );
und
do_action( 'woocommerce_after_shop_loop_item' );
Schnell und dreckig, aber es hat bei mir geklappt.
Eine bessere und sicherere Möglichkeit, dies zu tun, besteht darin, die Aktionen zum Öffnen und Schließen von Verknüpfungen zu entfernen. Dadurch wird verhindert, dass Nebenwirkungen wie die Schaltfläche zum Hinzufügen zum Warenkorb verschwinden.
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 );
Sie können diesen Code zu Ihrer functions.php hinzufügen
Ich habe das gefunden.
/**
* @snippet Disable Link to Products @ Loop
* @how-to Watch tutorial @ http://businessbloomer.com/?p=19055
* @sourcecode http://businessbloomer.com/?p=19916
* @author Rodolfo Melogli
* @testedwith WooCommerce 2.5.2
*/
// Close </a> tag just after it opens before product item
add_action( 'woocommerce_before_shop_loop_item_title','bbloomer_close_permalink', 10 );
function bbloomer_close_permalink() {
?>
</a>
<?php
}
// Open <a> tag just before it closes after product item
add_action( 'woocommerce_after_shop_loop_item_title','bbloomer_open_atag', 11);
function bbloomer_open_atag() {
?>
<a>
<?php
}
/**
* Explanation for the hack!
*
* Before the loop item, a link opens...
* After the loop item, a link closes...
* We're basically adding a close and open so that
* no content gets wrapped into <a>link</a>
*
* Check wc-template-functions.php lines 545-556:
*
* function woocommerce_template_loop_product_link_open() {
* echo '<a href="' . get_the_permalink() . '">';
* }
*
* function woocommerce_template_loop_product_link_close() {
* echo '</a>';
* }
*
*/
Font-Quelle: http://businessbloomer.com/woocommerce-disable-link-to-product-loop/