Tambahkan tab produk pada Woocommerce dengan kotak pilihan untuk menambah fungsi untuk menambahkan "Tambah ke Troli" kedua.
P粉262113569
P粉262113569 2023-07-31 15:01:29
0
1
483
<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>
P粉262113569
P粉262113569

membalas semua(1)
P粉543344381

Anda boleh menggunakan cangkuk `woocommerce_product_meta_start`. Sila lihat kod di bawah.

// Add a checkbox field to the Product tab in the admin area
function add_checkbox_to_product_tab() {
    // Add checkbox field to the General tab
    woocommerce_wp_checkbox( array(
        'id' => 'add_to_cart_checkbox',
        'label' => 'Warenkorb Hinzufügen',
        'desc_tip' => false,
        'description' => 'ja'
    ) );
}
add_action( 'woocommerce_product_options_general_product_data', 'add_checkbox_to_product_tab' );

// Save checkbox field value
function 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' );

// Remove standard "Add to Cart" button if checkbox value is 'no'
function add_custom_add_to_cart_button() {
    global $product;
    $checkbox_value = $product->get_meta( 'add_to_cart_checkbox' );
    if ( $checkbox_value == 'yes' ) {
        // Add your custom "Add to Cart" button code here
        echo '<a href="' . esc_url( $product->add_to_cart_url() ) . '" class="button alt">Custom Add to Cart</a>';
    }
}
add_action( 'woocommerce_product_meta_start', 'add_custom_add_to_cart_button', 40 );

Selepas ujian, kod berfungsi.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!