Añadir información a todos los productos WooCommerce

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í:

Añadir-informacion-a-todos-los-productos-WooCommerce

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…

añadir-informacion-adicional-paginas-de-productos-en-bloque

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 
	}
}
Ver más tutoriales de: WooCommerce

Tutoriales relaccionados

¿Necesitas un desarrollo a medida?

Login para aceder

David Lanau Consultor de Marketing Online
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.