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

LOGIN
REGISTRO