Tambahkan tab produk pada Woocommerce dengan kotak pilihan untuk menambah fungsi untuk menambahkan "Tambah ke Troli" kedua.
P粉262113569
2023-07-31 15:01:29
<p>Saya boleh menggunakan sedikit bantuan daripada anda, terima kasih banyak atas usaha anda! </p><p>Masalah saya ialah pemalam yang dipasang menggantikan butang tambah ke troli standard pada halaman produk. Saya tidak mahu menukarnya dan saya perlu menambah butang tambah kedua pada troli di bawahnya. Masalahnya ialah, pemalam lain untuk sampel produk percuma memerlukan butang tambah ke troli biasa. </p><p>Apabila saya menambah skrip global ia berfungsi pada semua produk. </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>Saya ingin ciri ini ditambahkan pada tab produk dan boleh didayakan atau dilumpuhkan pada produk yang dipilih melalui kotak pilihan. </p><p>Kod saya tidak melakukan apa-apa setakat ini. Kotak pilihan berfungsi dan kotak pilihan disimpan dengan baik. Tetapi coretan kod tidak melaksanakan perintah tambah ke troli pada halaman hujung hadapan produk. </p><p><br /></p>
<pre class="brush:php;toolbar:false;">// Tambahkan medan kotak semak pada tab Produk dalam kawasan pentadbir
fungsi add_checkbox_to_product_tab() {
// Tambah medan kotak semak pada tab Umum
woocommerce_wp_checkbox( tatasusunan(
'id' => 'tambah_ke_cart_kotak semak',
'label' => 'Warenkorb Hinzufügen',
'desc_tip' => palsu, // benar atau salah, tunjukkan penerangan secara langsung atau sebagai petua alat
'huraian' => 'ja'
) );
}
add_action( 'woocommerce_product_options_general_product_data', 'add_checkbox_to_product_tab' );
// Simpan nilai medan kotak semak
fungsi save_checkbox_value( $product ) {
$kotak semakan = isset( $_POST['tambah_ke_cart_kotak semakan'] ) 'ya' : 'tidak';
$produk->kemas kini_meta_data( 'tambah_ke_cart_kotak', $kotak semak );
}
add_action( 'woocommerce_admin_process_product_object', 'save_checkbox_value' );
// Tambah tindakan apabila kotak semak dipilih dengan 'ya'
fungsi add_action_when_checkbox_selected( $product_id ) {
$checkbox_value = get_post_meta( $product_id, '_add_to_cart_checkbox', benar );
jika ( $checkbox_value == 'ya' ) {
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 );</pra>
<p><br /></p>
Anda boleh menggunakan cangkuk `woocommerce_product_meta_start`. Sila lihat kod di bawah.
Selepas ujian, kod berfungsi.