Laten we eerst een nieuw Woocommerce-aangepast veld voor één product maken en dit op de gewenste plaats uitvoeren. Dit kan handig zijn om bijvoorbeeld verwachte levertijd per product, of een extra product informatie gedeelte.
// Add custom field to Woocommerce backend under General tab add_action( 'woocommerce_product_options_general_product_data', 'wpsh_add_text_field' ); function wpsh_add_text_field() { woocommerce_wp_text_input( array( 'id' => '_shipping_time', 'label' => __( 'Shipping info', 'woocommerce' ), 'description' => __( 'This is a custom field, you can write here anything you want.', 'woocommerce' ), 'desc_tip' => 'true', 'type' => 'text' ) ); } // Save custom field values add_action( 'woocommerce_admin_process_product_object', 'wpsh_save_field', 10, 1 ); function wpsh_save_field( $product ) { if ( isset( $_POST['_shipping_time'] ) ) { $product->update_meta_data( '_shipping_time', sanitize_text_field( $_POST['_shipping_time'] ) ); } } // Display this custom field on Woocommerce single product pages add_action( 'woocommerce_product_meta_end', 'wpsh_display_on_single_product_page', 10 ); function wpsh_display_on_single_product_page() { global $product; // Is a WC product if ( is_a( $product, 'WC_Product' ) ) { // Get meta $text = $product->get_meta( '_shipping_time' ); // NOT empty if ( ! empty ( $text ) ) { echo ''; } } } // Display this custom field on Woocommerce archive pages add_action( 'woocommerce_after_shop_loop_item', 'wpsh_display_on_archive_page', 10 ); function wpsh_display_on_archive_page() { global $product; // Is a WC product if ( is_a( $product, 'WC_Product' ) ) { // Get meta $text = $product->get_meta( '_shipping_time' ); // NOT empty if ( ! empty ( $text ) ) { echo 'Estimated shipping time: ' . $text . ''; } } }