cari

Rumah  >  Soal Jawab  >  teks badan

Tambahkan tab produk pada Woocommerce dengan kotak pilihan untuk menambah fungsi untuk menambahkan "Tambah ke Troli" kedua.

<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粉262113569P粉262113569514 hari yang lalu572

membalas semua(1)saya akan balas

  • P粉543344381

    P粉5433443812023-08-01 11:44:52

    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.

    balas
    0
  • Batalbalas