Woocommerce: Cómo agregar un meta campo personalizado en un producto

Guardar artículo

Introducción

Los meta campos personalizados proporcionan una mayor flexibilidad en la gestión de información específica de tus productos en Woocommerce, brindándote un mayor control sobre los datos que deseas destacar.

Por ejemplo, un escenario común podría ser la necesidad de añadir un campo personalizado para el código GTIN, también es posible que desees incluir notas especiales para cada artículo. Sea cual sea la particularidad que requieras, este código te servirá como base para su implementación.

Funciones: crear y guardar meta campo en back-end

Este snippet agrega un meta campo de texto llamado «EAN», visible en la «edición de producto» . Adicional, permite que el meta campo se actualice al guardar el producto.

PHP
////// -- Custom Meta Field for Woocommerce Products -- ////// 

// FUNCIÓN CREAR "TEXT META FIELD"
add_action('woocommerce_product_options_general_product_data', 'woocommerce_product_custom_field');
function woocommerce_product_custom_field() {
    global $woocommerce, $post;
    echo '<div class="product_custom_field">';
    //custom text field: _custom_ean_field
    woocommerce_wp_text_input(
        array(
            'id' => '_custom_ean_field',
            'placeholder' => 'Código EAN',
            'label' => __('CÓDIGO EAN', 'woocommerce'),
            'desc_tip' => 'true'
        )
    );
    echo '</div>';
}

// FUNCIÓN GUARDAR "TEXT META FIELD"
add_action('woocommerce_process_product_meta', 'woocommerce_product_custom_field_save');
function woocommerce_product_custom_field_save($post_id) {
    //custom text field: _custom_ean_field
    $woocommerce_custom_product_text_field = $_POST['_custom_ean_field'];
    if (!empty($woocommerce_custom_product_text_field))
        update_post_meta($post_id, '_custom_ean_field', esc_attr($woocommerce_custom_product_text_field));
}

Función: mostrar meta campo en el front-end

Ahora, podemos hacer el meta campo visible en el front-end del producto:

PHP
////// -- Show Custom Meta Field in Single Product Page -- //////

add_action( 'woocommerce_single_product_summary', 'show_ean_custom_field' );
function show_ean_custom_field() {
	if( is_product() ) {
		global $product;
		$EAN = $product->get_meta('_custom_ean_field');
		if (!empty($EAN)) {
			echo '<p>EAN: ' . esc_html($EAN) . '</p>';
		}
	}
}

Recursos Adicionales

¿Dónde agregar este snippet?

Principiante: agrega el código al archivo functions.php WP Escritorio > Apariencia > Editor de archivos de temas > functions.php de tu tema hijo.

Intermedio: agrega el código mediante un plug-in que permita agregar funciones personalizadas, como WPCode.

Avanzado: crea un plugin

Para más información mira esta artículo sobre cómo implementar código PHP personalizado en WordPress.

Recomendados:

ProveedorAlojamiento & Dominio
Anuncio - Hosting Web de SiteGround - Diseñado para una fácil administración web. Haz clic para saber más.
PluginConstructor Visual
Elementor
PluginOptimización de Velocidad
WP Rocket
PluginSEO
SEOPress WordPress SEO plugin
TemaWordPress & WooCommerce
WordPress Theme: Betheme
PluginSeguridad y Anti-malware
Malcare. WordPress Security
PluginWP Marketplace
Dokan

7 respuestas

  1. Avatar de pgallegos
  2. Avatar de pgallegos
  3. Avatar de pgallegos
  4. Avatar de pgallegos
    1. Avatar de pgallegos
      1. Avatar de pgallegos

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *