如何在WooCommerce添加到购物车按钮后添加可定制文本

我需要在WooCommerce中的"添加到购物车"按钮之后添加自定义文本元素。

我尝试使用functions.php

中插入的代码
add_action( 'woocommerce_after_add_to_cart_button', 'inserisce_testo_dopobottone' );
function inserisce_testo_dopobottone() {
    echo '<div class="second_content">New text</div>';
}

这是可行的,但现在我需要每个页面的文本都是可自定义的。 这可能吗?


解决方案

您可以通过woocommerce_product_options_general_product_data操作挂钩添加自定义字段,这会将新字段添加到产品数据元数据的常规选项卡

基于此,您可以根据产品显示不同的消息,或显示默认消息

因此您得到:

// Add to general_product_data tab
function action_woocommerce_product_options_general_product_data() {
    // Text field
    woocommerce_wp_text_input( array(
        'id'                 => '_my_custom_text',
        'label'              => __( 'My custom text', 'woocommerce' ),
        'placeholder'        => '',
        'description'        => __( 'Add your custom text', 'woocommerce' ),
        'desc_tip'           => true,
    ));
}
add_action( 'woocommerce_product_options_general_product_data', 'action_woocommerce_product_options_general_product_data', 10, 0 );

// Save custom field
function action_woocommerce_admin_process_product_object( $product ) {
    // Isset
    if ( isset( $_POST['_my_custom_text'] ) ) {        
        // Update
        $product->update_meta_data( '_my_custom_text', sanitize_text_field( $_POST['_my_custom_text'] ) );
    }
}
add_action( 'woocommerce_admin_process_product_object', 'action_woocommerce_admin_process_product_object', 10, 1 );

// Display after add to cart button
function action_woocommerce_after_add_to_cart_button() {
    global $product;
    
    // Is a WC product
    if ( is_a( $product, 'WC_Product' ) ) {
        // Get meta
        $message = $product->get_meta( '_my_custom_text' );
        
        // When Empty, use default message
        if ( empty ( $message ) ) {
            $message = __( 'Default text', 'woocommerce' );
        }
        
        echo '<div class="second_content">' . $message . '</div>';
    }
}
add_action( 'woocommerce_after_add_to_cart_button', 'action_woocommerce_after_add_to_cart_button' );

相关文章