Rumah  >  Soal Jawab  >  teks badan

Gantikan butang "Tambah ke Troli" pada halaman produk tunggal WooCommerce jika troli tidak kosong

<p>Saya mempunyai kod PHP berikut dalam Apl Coretan Kod saya (plugin): </p> <pre class="brush:php;toolbar:false;">add_action( 'woocommerce_product_meta_end', 'message_when_other_product_already_in_cart', 10 ); function message_when_other_product_already_in_cart() { jika (WC()->cart->dapatkan_cart_contents_count() > 0) { $message = 'Sila lengkapkan pembelian anda atau kosongkan troli anda sebelum anda menambah produk lain pada troli anda. '; echo '<b><p><p>'.$message.'</b></p>'; } }</pre> <p>Apa yang saya perlukan ialah cara untuk menyembunyikan butang "Tambah ke Troli". Tidak pasti apa yang boleh digunakan dalam kod PHP untuk menyembunyikan butang. Dalam soalan sebelumnya yang saya tanya, seseorang mencadangkan saya menggunakan: </p> <pre class="brush:php;toolbar:false;">if ( WC()->cart->get_cart_contents_count() > 0) { $is_purchasable = palsu; } pulangkan $is_purchasable;</pre> <p>Tetapi memandangkan keperluan kami telah berubah, saya hanya mahu <strong>menyembunyikan butang</strong> dan memaparkan mesej "Sebelum anda boleh menambah...". Saya tidak mahu menggunakan $is_purchasable = false, adakah ini mungkin? </p> <p>Saya telah mencuba pelbagai kaedah, termasuk membenamkan CSS dalam kod PHP. Walau bagaimanapun, semua usaha gagal untuk menyembunyikan butang "Tambah ke Troli". </p>
P粉331849987P粉331849987401 hari yang lalu483

membalas semua(1)saya akan balas

  • P粉879517403

    P粉8795174032023-08-17 11:41:37

    Yang berikut akan, pada satu halaman produk, menggantikan butang "Tambah ke Troli" dengan mesej teks tersuai jika troli tidak kosong:

    // 添加到购物车替换文本消息
    function add_to_cart_replacement(){
        // 您的消息文本
        $message_text = __( "在您可以将另一个产品添加到购物车之前,请完成购买或清空购物车。", "woocommerce" );
        
        // 显示文本消息
        echo '<p class="button message">' . $message_text . '</p>';
    }
    // 用自定义文本消息替换单个产品的添加到购物车按钮
    add_action( 'woocommerce_single_product_summary', 'replace_single_add_to_cart_button', 1 );
    function replace_single_add_to_cart_button() {
        global $product;
        
        // 如果购物车不为空
        if( ! WC()->cart->is_empty() ){
            // 对于变量产品类型(保留属性选择字段)
            if( $product->is_type( 'variable' ) ) {
                remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation_add_to_cart_button', 20 );
                add_action( 'woocommerce_single_variation', 'add_to_cart_replacement', 20 );
            }
            // 对于其他所有产品类型
            else {
                remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
                add_action( 'woocommerce_single_product_summary', 'add_to_cart_replacement', 30 );
            }
        }
    }
    

    Kod diletakkan dalam fail functions.php tema anak anda (atau dalam pemalam). Diuji dan tersedia.

    Anda akan mendapat hasil yang serupa dengan:

    balas
    0
  • Batalbalas