Gracias a este código podrás añadir información a todos los productos WooCommerce a la vez. Una vez que hayas introducido el snippet encontrarás un nuevo apartado en WooCommerce > Ajustes > Productos >General. Al final de esta sección veremos algo así:
Además podrás elegir si quieres mostrar esta información adicional encima o debajo del botón de comprar.
Esta nueva funcionalidad es genial para introducir la informacional tipo “Gastos de envío gratis a partir de” “Garantía de” etc…
Código para añadir información a todos los productos WooCommerce
// Añade campo información adicional en ajustes de presentación del producto if ( in_array( 'woocommerce/woocommerce.php', get_option( 'active_plugins' ) ) && ( version_compare( WC()->version, '3.0.0', '>=' ) ) ){ add_filter( 'woocommerce_get_settings_products', 'aditional_product_info_block', 10, 2 ); function aditional_product_info_block( $settings, $current_section ){ $settings[] = array( 'title' => __( 'Información adicional del producto', 'woocommerce' ), 'type' => 'title', 'desc' => '', 'id' => 'adition_product_info_options' ); $settings[] = array( 'title' => __( '¿Donde quieres que se muestre?', 'woocommerce' ), 'id' => 'woocommerce_aditional_product_info_layout', 'class' => 'wc-enhanced-select', 'css' => 'min-width:300px;', 'default' => 'menu_order', 'type' => 'select', 'options' => apply_filters( 'woocommerce_aditional_product_info_layout_options', array( 'top' => __( 'Encima del botón de compra', 'woocommerce' ), 'bottom' => __( 'Debajo del botón de compra', 'woocommerce' ), ) ) ); $settings[] = array( 'type' => 'my_visual_editor', 'id' => 'woocommerce_aditional_product_info_message' ); $settings[] = array( 'type' => 'sectionend', 'id' => 'adition_product_info_options' ); return $settings; } add_action( 'woocommerce_admin_field_my_visual_editor', 'generate_my_visual_editor_html' ); function generate_my_visual_editor_html(){ $aditional_product_info_message = get_option( 'woocommerce_aditional_product_info_message' ); ?> <div><?php wp_editor( !empty( $aditional_product_info_message )? $aditional_product_info_message : '', 'woocommerce_aditional_product_info_message' ); ?></div> <?php } add_filter( 'woocommerce_admin_settings_sanitize_option_woocommerce_aditional_product_info_message', 'sanitize_aditional_product_info', 10, 3 ); function sanitize_aditional_product_info( $value, $option, $raw_value ){ return wp_kses_post( $raw_value ); } add_action( 'woocommerce_single_product_summary', 'display_aditional_info_message_in_product_page', get_option( 'woocommerce_aditional_product_info_layout' ) == 'top'? 25 : 35 ); function display_aditional_info_message_in_product_page(){ $adition_product_info_message = get_option( 'woocommerce_aditional_product_info_message' ); ?> <div style="margin-top: 10px;margin-bottom: 10px;padding: 5px;"><?php echo do_shortcode( !empty( $adition_product_info_message )? wpautop( $adition_product_info_message ) : '' ); ?></div> <?php } }