enutzerdefiniertes Feld für Admin-Produktseiten im Warenkorb und zur Kas

Ich habe in WooCommerce Admin auf der Registerkarte "Allgemeine Einstellungen" der Produktseiten ein benutzerdefiniertes Feld erstellt, um einige Tage für die Herstellung einzufügen. Ich möchte diesen benutzerdefinierten Feldwert auf Warenkorb- und Checkout-Seiten über dem Namen jedes Produkts anzeigen.

Hier ist mein Code:

// Insert a Custom Admin Field
function woo_add_custom_general_fields() {

    echo '<div class="options_group">';

    woocommerce_wp_text_input( array( 
        'id'                => 'days_manufacture', 
        'label'             => __( 'Days for Manufacture', 'woocommerce' ), 
        'placeholder'       => '', 
        'description'       => __( 'Insert here', 'woocommerce' ),
        'type'              => 'number', 
        'custom_attributes' => 
        array(
            'step'  => 'any',
            'min'   => '1'
        ) 
    ) );
    echo '</div>';
}
add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields' );


// Save field
function woo_add_custom_general_fields_save( $post_id ){
    $woocommerce_number_field = $_POST['days_manufacture'];
    if( !empty( $woocommerce_number_field ) )
        update_post_meta( $post_id, 'days_manufacture', esc_attr( $woocommerce_number_field ) );
}
add_action( 'woocommerce_process_product_meta', 'woo_add_custom_general_fields_save' );


function save_days_field( $cart_item_data, $product_id ) {
    if( isset( $_REQUEST['days_manufacture'] ) ) {
        $cart_item_data[ 'days_manufacture' ] = get_post_meta( $post->ID, 'days_manufacture',true );

/* below statement make sure every add to cart action as unique line item */

   $cart_item_data['unique_key'] = md5( microtime().rand() );
    }
    return $cart_item_data;
}
add_action( 'woocommerce_add_cart_item_data', 'save_days_field', 10, 2 );


function render_meta_on_cart_and_checkout( $cart_data, $cart_item = null ) {
    $custom_items = array();
    /* Woo 2.4.2 updates */
    if( !empty( $cart_data ) ) {
        $custom_items = $cart_data;
    }
    if( isset( $cart_item['days_manufacture'] ) ) {
        $custom_items[] = array( "name" => 'Days:', "value" => $cart_item['days_manufacture'] );
    }
    return $custom_items;
}
add_filter( 'woocommerce_get_item_data', 'render_meta_on_cart_and_checkout', 10, 2 );

Aber dies funktioniert nicht, da ich den benutzerdefinierten Feldwert nicht auf Einkaufswagen- und Checkout-Seiten anzeigen kann.

Wie kann ich das erreichen?

Vielen Dan

Antworten auf die Frage(2)

Ihre Antwort auf die Frage