Fügen Sie Woocommerce eine Produktregisterkarte mit einem Kontrollkästchen hinzu, um die Funktionalität zum Hinzufügen eines zweiten „In den Warenkorb' hinzuzufügen.
P粉262113569
2023-07-31 15:01:29
<p>Ich könnte etwas Hilfe von Ihnen gebrauchen, vielen Dank für Ihre Bemühungen! </p><p>Mein Problem ist, dass das installierte Plugin die Standardschaltfläche „In den Warenkorb“ auf der Produktseite ersetzt. Ich möchte es nicht ändern und muss darunter eine zweite Schaltfläche zum Hinzufügen zum Warenkorb hinzufügen. Das Problem ist, dass ein anderes Plugin für kostenlose Produktproben eine reguläre Schaltfläche zum Hinzufügen zum Warenkorb erfordert. </p><p>Wenn ich das globale Skript hinzufüge, funktioniert es auf allen Produkten. </p><p><br /></p>
<pre class="brush:php;toolbar:false;">Add_action( 'woocommerce_product_meta_start', 'woocommerce_template_single_add_to_cart, 1 );</pre>
<p>Ich möchte, dass diese Funktion zur Produktregisterkarte hinzugefügt wird und bei ausgewählten Produkten über ein Kontrollkästchen aktiviert oder deaktiviert werden kann. </p><p>Bisher hat mein Code nichts bewirkt. Die Kontrollkästchen funktionieren und die Kontrollkästchen werden problemlos gespeichert. Das Code-Snippet führt jedoch nicht den Befehl „Zum Warenkorb hinzufügen“ auf der Produkt-Frontend-Seite aus. </p><p><br /></p>
<pre class="brush:php;toolbar:false;">// Kontrollkästchenfeld zur Registerkarte „Produkt“ im Admin-Bereich hinzufügen
Funktion add_checkbox_to_product_tab() {
// Kontrollkästchenfeld zur Registerkarte „Allgemein“ hinzufügen
woocommerce_wp_checkbox( Array(
'id' => 'add_to_cart_checkbox',
'label' =>
'desc_tip' => false, // true oder false, Beschreibung direkt oder als Tooltip anzeigen
'description' => 'ja'
) );
}
add_action( 'woocommerce_product_options_general_product_data', 'add_checkbox_to_product_tab' );
// Kontrollkästchenfeldwert speichern
Funktion save_checkbox_value( $product ) {
$checkbox = isset( $_POST['add_to_cart_checkbox'] ) 'yes' : 'no';
$product->update_meta_data( 'add_to_cart_checkbox', $checkbox );
}
add_action( 'woocommerce_admin_process_product_object', 'save_checkbox_value' );
// Aktion hinzufügen, wenn das Kontrollkästchen mit „Ja“ ausgewählt ist
Funktion add_action_when_checkbox_selected( $product_id ) {
$checkbox_value = get_post_meta( $product_id, '_add_to_cart_checkbox', true );
if ( $checkbox_value == 'yes' ) {
do_action( 'woocommerce_product_meta_start' );
do_action( 'woocommerce_template_single_add_to_cart' );
}
}
add_action( 'woocommerce_template_single_add_to_cart', 'add_action_when_checkbox_selected', 1 );</pre>
<p><br /></p>
您可以使用`woocommerce_product_meta_start`钩子。请查看下面的代码。
经过测试,代码有效。