Ich bin auf der Suche nach einer Möglichkeit, eine benutzerdefinierte Klasse zur Schaltfläche "In den Warenkorb" auf der Seite "single-product.php" in Woocommerce hinzuzufügen. Ich habe Folgendes ohne Ergebnis versucht:
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
global $product;
echo apply_filters( 'woocommerce_loop_add_to_cart_link',
sprintf( '<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" data-quantity="%s" class="button %s product_type_%s">%s</a>',
esc_url( $product->add_to_cart_url() ),
esc_attr( $product->id ),
esc_attr( $product->get_sku() ),
esc_attr( isset( $quantity ) ? $quantity : 1 ),
$product->is_purchasable() && $product->is_in_stock() ? 'add_to_cart_button MY-TEST-CLASS-HERE' : '',
esc_attr( $product->product_type ),
esc_html( $product->add_to_cart_text() )
),
$product );
Obwohl ich die "MY-TEST-CLASS-HERE" im Quellcode nicht sehen kann. Was mache ich falsch?
Wie in Ihrer Dokumentation erklärt, bietet WooCommerce eine Template-Struktur. Das Kopieren von WC in Ihr Thema bringt Sie nicht weiter.
woocommerce
in Ihrem Design.templates
von WC in Ihrem Themenordner woocommerce
. Beachten Sie, dass Sie die Struktur des Ordners templates
in Ihrem Themenordner woocommerce
intakt halten müssen, damit dies funktioniert.woocommerce
Ihres Themas nach Ihren Wünschen. Sie haben Vorrang vor den im Plugin enthaltenen templates
.Tipp: Kopieren Sie nicht alle Vorlagen aus dem Plugin in Ihr Theme! Nur die, die Sie ändern möchten. Von Zeit zu Zeit aktualisiert WC seine Vorlagen und fügt Funktionen hinzu. WooCommerce teilt Ihnen auch mit, wann eine Vorlage, die Sie in Ihrem Design behalten, nach einem Upgrade möglicherweise eine aktualisierte Version im Plugin enthält.
Übrigens, ich vermute, die Gegenstimme war nicht für die Frage selbst, sondern für den Titel. Ich wette, Sie wissen, wie man einer Schaltfläche eine Klasse hinzufügt. Was Sie nicht wussten, war, wie man das Template-System von WooCommerce benutzt. Weil du es nicht googelt hast, was ich denke, dass du (technisch) weißt, wie es geht. Bitte verzeihen Sie meinen Anflug von Sarkasmus, es war entweder das oder eine andere Ablehnung.
Der einfachste Weg, den ich gefunden habe (ein bisschen hacky), ist, den Button in ein span-Tag zu wickeln, die Klasse zum Span hinzuzufügen und dann in Ihrem CSS die Eigenschaften auf den Button anzuwenden, der vom Span erbt:
<span class="my-Nice-class">
<?php woocommerce_get_template( 'loop/add-to-cart.php' ); ?>
</span>
und dann in CSS:
.my-Nice-class .button {
color: black;
}
Verwenden Sie ein untergeordnetes Thema? Wenn nicht, würde ich das vorschlagen. Anschließend können Sie die Schaltfläche in der Datei "style.css" des untergeordneten Themas anpassen, indem Sie den Stil von "add_to_cart_button" bearbeiten und eine neue Klasse erstellen