WooCommerce: Produkte hinzufügen-Button durch Buttonlink auf Detailseite ersetzen

lego 1044891 1920
Bildquelle: Pixabay, eak_kkk

Wenn Produktoptionen komplex sind, weil sie sich beispielsweise auf Angaben in benutzerdefinierten Feldern einzelner Produkte beziehen, wird es schwierig, Plugins für Produktoptionen einzusetzen.

Ohne ein Plugin für Produktoptionen zu verwenden würden einfache Produkte von Archiven weg in den Warenkorb verbracht werden können. Sind Produktoptionen zwingend, soll der Käufer sie nur auf der Produkt-Einzelseite in den Einkaufswagen klicken können.

Um sicherzustellen, dass Kunden an den Produktoptionen nicht vorbeikommen, muss der Button „in den Warenkorb“, den einfache Produkte in Archivansichten bekommen, durch einen Button mit Link zur Detailansicht mit den Optionen ersetzt werden. Das geht über den Filter woocommerce_loop_add_to_cart_link

<?php
// Replace add to cart button by linked button to the product on Shop and archives pages
function replace_loop_add_to_cart_button( $button, $product  ) {
	// variable products already have a product linked button
	if( $product->is_type( 'variable' ) ) return $button;
	return sprintf( '<a class="button" href="%1$s">%2$s</a>', $product->get_permalink(), __( 'Show options', 'mythemetextdomain' ) );
}
add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_loop_add_to_cart_button', 10, 2 );

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable