• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Themes / Campos personalizados en productos de WooCommerce

Campos personalizados en productos de WooCommerce

Campos personalizados en productos de WooCommerce

[ 27 marzo 2018 ] [ Actualizado: 3 mayo 2020 ]
[ Autor: Jhon Marreros Guzmán ][ Themes - Básico] [ ]

mejoras woocommerce

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

En un artículo anterior vimos cómo usar los campos personalizados de WordPress en entradas. Puesto que se puede aplicar lo mismo a cualquier Custom Post Type, en este artículo veremos cómo crear campos personalizados en productos de WooCommerce.

 

Resultado Final

Al final, obtendremos algo similar a lo que se muestra en la siguiente imagen.

Campos personalizados mostrándose en el front-end del sitio

 

Generalidades

WooCommerce te permite agrupar productos por categorías y etiquetas, además puedes agregar atributos de productos, sin embargo, si quieres añadir características adicionales como parte de la información del producto, puedes evaluar usar campos personalizados.

Por ejemplo para una tienda de libros podríamos considerar los siguientes campos personalizados:

  • Edición
  • Autor(es)
  • Género
  • Editorial
  • Enlace a recursos externos, etc

Seguro estarás pensando que esto podría ir como parte de la descripción del producto, y es cierto, sin embargo usar campos personalizados te dará más flexibilidad

 

Crear campos personalizados

Para añadir los campos personalizados de manera simple, usaremos el plugin Advanced Custom Fields.

Tras instalar el plugin verás que te aparece una opción en el menú del dashboard llamada custom fields, tras ingresar lo primero que tienes que hacer es agregar un nuevo Field Group e ir añadiendo cada uno de los campos personalizados.

Campos personalizados usando el plugin Advanced custom fields

Es importante definir el Custom Post Type, que en nuestro caso será Product
Con el plugin Advanced Custom Fields puedes agregar campos personalizados para cualquier Custom Post Type

 
Es posible añadir campos de tipo de selección, tal como se ve en la imagen.

Creación de un campo de tipo selección

 
Los campos de selección permiten definir condicionales para nuevos campos basado en los valores de selección.

Condicional en campos personalizado

 
Al final tras ingresar los campos personalizados podrás ver en la pantalla de edición de producto los campos creados, listos para ser usados como parte de la información del producto.

Edición de producto con nuevos campos personalizados agregados

 

Mostrar Campos personalizados en el front-end de tu sitio

Todo lo realizado anteriormente de momento no se esta mostrando a los usuarios de tu tienda, para mostrar esta información en el detalle de producto puedes hacer uso de los hooks de WooCommerce y de las funciones del plugin Advanced custom field.

Coloca el siguiente código al final del archivo functions.php de tu theme.


add_action( 'woocommerce_single_product_summary', "dcms_caracteristicas_producto", 8 );

function dcms_caracteristicas_producto(){
   
  if (function_exists('get_field')){
    echo "<p><strong>Edición:</strong> ". get_field('edicion')."</p>"; 
    echo "<p><strong>Autor: </strong>". get_field('autor')."</p>"; 
    echo "<p><strong>Género: </strong>". get_field('genero')."</p>"; 
    echo "<p><strong>Editorial: </strong>". get_field('editorial')."</p>";
  }
  
}

En el código anterior:

  • Usamos el hook woocommerce_single_product_summary que hace referencia a la función dcms_caracteristicas_producto
  • Dentro de la función comprobamos si la función get_field del plugin Advanced Custom fields existe
  • Si la función existe, entonces la usamos para recuperar los campos creados

Para complementar, puedes añadir datos estructurados o microdatos a los campos adicionales, revisa: Cómo Agregar Microdatos en campos de productos en WooCommerce

 
¿Aún con dudas?, en el siguiente video se detalla los puntos anteriores.

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Mostrar la descripción corta del producto en la página de tienda de WooCommerceMostrar la descripción corta del producto en la página de tienda de WooCommerce
  • Campos personalizados en WordPressCómo usar los campos Personalizados en WordPress
  • Twenty Seventeen WordPressConfigura el Tema Twenty Seventeen WordPress
  • Refrescar estilos CSS navegador usuarioRefrescar los estilos CSS almacenados en el navegador de un usuario
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (6 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Comentarios

  1. Fernando

    3 agosto, 2018

    Le agradezco su aporte me ha resuelto parte del problema que tengo. He incluido las campos personalizados en la página de producto. Ahora necesito añadir alguno de los campos personalizados en el listado de productos. Me podrías ayudar. De antemano muchas gracias.

    • Jhon Marreros Guzmán

      8 agosto, 2018

      De manera general, podrías revisar los Hooks que tiene Woocommerce: https://docs.woocommerce.com/wc-apidocs/hook-docs.html , alguno de ellos debería tener efecto en el listado.

      • Hugo Borges

        25 enero, 2022

        Hola, sabes que pasó con estas páginas de los hooks ? he intentado entrar a varias y no funcionan.

        • Jhon Marreros Guzmán

          26 enero, 2022

          Hola Hugo, revisa este artículo en donde trato un plugin para ver visualmente los Hooks de WooCommerce y el tema Storefront. https://decodecms.com/guia-visual-de-hooks-para-storefront-y-woocommerce/

  2. VIVIANA ORTEGA

    13 diciembre, 2018

    Siento que estaba tan cerca de solucionar mi problema hasta que me salio este aviso

    Los cambios en tu código PHP se han revertido debido a un error en la línea 65 del archivo wp-content/themes/north-wp/functions.php. Por favor, arréglalo y trata de guardar de nuevo.

    syntax error, unexpected ‘>’

    QUÉ PUEDO HACER ? NO SE QUE ES LO QUE FALLA.

    • Jhon Marreros Guzmán

      13 diciembre, 2018

      Hola, revisa bien el código, prueba con el código de ejemplo sin realizar cambios, te sugiero además usar el Administrador de Archivos de tu Cpanel en lugar de hacer los cambios con el editor de tu WordPress, ya que este último es muy limitado y te reportará a veces errores cuando no los hay.

  3. Juan Maristany

    3 enero, 2019

    Un buen tutorial,gran ayuda, gracias.
    Tengo una consulta, voy a hacer una importación masiva de datos de productos por CSV, a la hora de importar te pregunta donde quieres cada columna de datos. He hecho una prueba y los que vienen en origen estan todos pero no salen los nuevos campos creados. ¿Hay alguna solución?

    • Jhon Marreros Guzmán

      3 enero, 2019

      Hola, podrías revisar el siguiente hilo de discusión del foro de ACF, https://support.advancedcustomfields.com/forums/topic/import-custom-posts-via-csv/ , revisa especialmente las últimas entradas.

  4. estorde

    14 enero, 2019

    Parece ser que existe un error en la sintaxis, al menos para las versiones más recientes de WordPress.

    Este código, al menos no da un error en la sintaxis al intentar guardarlo:

    
    add_action( 'woocommerce_single_product_summary', "dcms_caracteristicas_producto", 10 );
    if ( ! function_exists( 'dcms_caracteristicas_producto' ) ) :
    function dcms_caracteristicas_producto(){ ?>
        Autor: 
        ISBN:
        Nº. páginas:  
    <?php  }
    endif;
    

    sin embargo por algún motivo, no me pinta el valor del campo en el front….

    • Jhon Marreros Guzmán

      14 enero, 2019

      Hola, cuando es un error de sintaxis es PHP quien lo valida, no WordPress, qué error te aparece cuando usas el código de este artículo, el código que envías no veo que imprima los campos.

      • Trips

        25 noviembre, 2019

        
        add_action( 'woocommerce_single_product_summary', "dcms_ubicacion", 8 );
        
        function dcms_ubicacion(){
           
          if (function_exists('get_field')){
            echo "Departamento: ". get_field('Departamento')."";
            echo "Municipio: ". get_field('Municipio').""; 
            echo "Dirección: ". get_field('direccion').""; 
            
          }
          
        }
        

        hola exente tutorial , todo perfecto lo único es que no se imprimen los datos capturados en el frot…. espero su valiosa colaboración

        • Jhon Marreros Guzmán

          25 noviembre, 2019

          Hola, tal como lo tienes si que debería mostrarse, asegúrate de usar los nombres de los campos en lugar de labels, los nombres son usualmente escritos siempre en minúsculas y sin caracteres especiales. Si sigues con problemas prueba activar y colocar el código en otro theme, usa alguno de los que viene por defecto.

  5. Freddy

    30 enero, 2019

    Muy buen aporte me ayudo mucho, me gustaria saber como agrego esos campos creados a la zona de widgets para poder usarlos en un sidebar, estoy en proceso de creacion de una tienda web y los necesito para crear el catalogo de filtros.

    Gracias

    • Jhon Marreros Guzmán

      30 enero, 2019

      Hola, parece que hay un plugin que te puede ayudar con los filtros y que veo que se integra con ACF (Advanced Custom Fields)

  6. joaquin

    21 abril, 2019

    Hola
    Vuelvo a releer éste post y a visionar el video anexo buscando información sobre la manera en qué podría implementar la opción de que al pagar el cliente con PayPal se sume ése porcentaje que cobra PayPal al total del pedido, y que dicho sobreprecio salga especificado en la orden de pedido antes de aceptar; para que el cliente puede continuar o pagar el pedido por Stripe sin pagar el sobreprecio de PayPal.
    Imagino que quizá no sea objeto de éste tutorial
    Enhorabuena por el contenido tan valioso que generas y gracias por compartirlo.
    Un saludo

    • Jhon Marreros Guzmán

      22 abril, 2019

      Hola, prueba con un plugin, por ejemplo: https://es.wordpress.org/plugins/woo-payment-discounts/ , revisa si te permite ingresar un número negativo, sino tendría que cambiarlo por código modificando el plugin.

  7. Jose Carlos

    3 mayo, 2019

    Perfecto!! Funciona perfectamente. Solo que no sé cómo hacer para que esos campos se muestren en otro color para destacarlos sobre el resto del texto.

    • Jhon Marreros Guzmán

      4 mayo, 2019

      Hola, usa código CSS al mostrar los campos en el front-end, por ejemplo en:

      <p style="color:red"><strong>Edición:</strong>

      Aunque lógicamente lo mejor sería que tengas clases CSS que puedas reutilizar en lugar de colocar estilos en línea.

  8. jose casasola

    28 mayo, 2019

    Gracias por el aporte, esta excelente , pregunta que plantillas, podrias recomendar para una tienda en linea de aparatos electronicos y domesticos.

    • Jhon Marreros Guzmán

      29 mayo, 2019

      Hola StoreFront te podría servir, es un theme liviano de los creadores de WooCommerce para tienda, tiene además child-themes que tienen diseños particulares.

  9. estorde

    30 mayo, 2019

    Cómo se haría para que pinte una imagen añadida en un campo personalizado?

    El nombre del campo que he asignado es: «foto_del_autor», el tipo de campo es una imagen, y por defecto tengo asignado que el valor que devuelve es el «Array de imagen», aunque creo que podría ser factible que devuelva la «URL de la imagen».

    Siguiendo tu código he tratado de escribir lo siguiente, pero me da errores en la sintaxis:

     
    add_action( 'woocommerce_single_product_summary', "dcms_caracteristicas_producto", 8 );
    
    function dcms_caracteristicas_producto(){
       
      if (function_exists('get_field')){
        echo "Nombre: ". get_field('autor').""; 
        echo "Biografía: ". get_field('biografia').""; 
        echo "Foto autor: ";
      }
    }
    

    Disculpa las molestias por enviar varios mensajes, no lograba pegar correctamente el código que he probado y muchas gracias

    • Jhon Marreros Guzmán

      1 junio, 2019

      Hola, no veo que hayas agregado código para mostrar la foto del autor, tienes que usar la etiqueta HTML img, revisa : https://www.w3schools.com/tags/tag_img.asp , lo que te devuelva el campo debería ser la ruta que debes ponerla en el atributo src, lo único que tienes que cuidar son las comillas, usa comillas simples par el src, es decir si tu campo se llama imagen podrías probar:

      echo "<strong>Foto autor: </strong><img src='".get_field('imagen')."' height='42' width='42'>";
      

      Saludos.

  10. Pedro

    1 junio, 2019

    De entrada gracias por toda la información Jhon.
    Tengo una duda que se ha convertido en problema.
    ¿Es posible insertar ACF a las plantillas de mail de woocommerce (customer-new-account.php, etc…)?

    Lo he probado creando un ACF Pagina de optiones para poder añadir el texto deseado y luego añado en la plantilla añado el the_field() o get_field, pero me temo que no funciona.
    ¿Alguna solución?
    Slaudos

    • Jhon Marreros Guzmán

      1 junio, 2019

      Hola, prueba como se comenta en este enlace, que primero tienes que obtener el ID de la orden para usarlo en el campo de get_field() como segundo parámetro: advanced-custom-fields-in-woocommerce-email-templates

  11. Perillán

    4 junio, 2019

    Hola. Te felicito por el post, muy bueno para aquellos que estamos empezando con woocommerce…
    He conseguido añadir un campo personalizado de tipo numerico sin problemas.
    Pero tengo una pregunta.
    En functions.php tengo una funcion que limita el carrito a un máximo de 3 productos añadidos.

    Y lo que quiero es reutilizar esta funció para que me sume la cantidad de ese campo númerico y cuando alcance un valor máximo, no deje de añadir más productos.
    Y el caso es que en programación php estoy totalmente perdido…
    Podrías ayudarme?
    Gracias

    • Jhon Marreros Guzmán

      5 junio, 2019

      Hola Perillán
      Mejor escríbeme a través del formulario de contacto y envíame nuevamente el código para saber a qué te refieres exactamente. https://decodecms.com/contacto/

      • Perillan

        5 junio, 2019

        Hola de nuevo.
        Ya lo he solucionado.
        Si alguien está interesado cuelgo el código.
        Un saludo

  12. Bolsiportaeas

    4 junio, 2019

    Hola, me esta sirviendo muchisimo este tutorial para mi pagina web de colecciones.
    Lo que no consigo es poner el campo autor, como un link a la pagina del autor. ¿ Podrias ayudarme? Gracias

    • Jhon Marreros Guzmán

      5 junio, 2019

      Hola, tendrías que tener dos campos, el nombre del autor y la url del autor, luego tendrías que crear en enlace con PHP, tendría que quedar algo como:

      echo "Autor: <a href='".get_field('url_autor')."' target='_blank'>".get_field('autor')."</a>";
      • Bolsiportadas

        5 junio, 2019

        Muchisimas gracias, llevo un mes peleandome con ese tema y lo habia dejado por imposible, yo estaba intentando usar el campo enlace en vez de texto. Pero me daba error continuamente.

  13. AndresQ

    5 julio, 2019

    Hola, genial tu video explicativo, pero tengo una duda, tengo una tienda de zapatos y quiero 1 solo campo que muestre una imagen con las dimensiones del zapato (que muestre la medida del taco y la plataforma). Intente usar este codigo pero si bien aparece el campo en el producto solo aparece la descripcion Array, no me aparece la imagen, que esta faltando agregar?
    muchas gracias

    add_action( 'woocommerce_single_product_summary', "dcms_caracteristicas_producto", 8 );
    
    function dcms_caracteristicas_producto(){
       
      if (function_exists('get_field')){
        echo "Dimensiones: ". get_field('dimensiones').""; 
          }
    }
    
    • Jhon Marreros Guzmán

      5 julio, 2019

      Hola, creo que el campo que estas intentando imprimir no tiene un solo valor, qué tipo de campo es?, podrías probar con: print_r( get_field(‘dimensiones’) ) a ver que te reportar, si es un array tendrías que usar algún key para imprimir.

  14. Inaki

    23 agosto, 2019

    Hola. UMe ha venido genial la explicacion! Una duda que tengo. Hay manera de crear un campo privado o de uso interno? En mi caso estoy montando una tienda con woocomerce y los productos que se venden tienen un codigo de referencia unico, pero que es una informacion delicada y que no quiero que se muestre en publico, pero para llevar un control interno seria fantastico poder ver esta informacion en la ficha de cada producto. Hay alguna manera de hacerlo?

    Muchas gracias!

    • Jhon Marreros Guzmán

      4 septiembre, 2019

      Hola, podrías probar simplemente agregando el campo al producto pero no mostrarlo al usuario, es decir mostrar sólo los campos que deseas con la función get_field()

  15. Mateo

    16 septiembre, 2019

    Hola una pregunta, estoy usando un plugin llamador Yith frontend manager y no consigo que los campos personalizados se muestren en el formulario del frontend. Hay alguna solución ?

    • Jhon Marreros Guzmán

      17 septiembre, 2019

      Hola supongo que te refieres a este plugin: https://yithemes.com/themes/plugins/yith-woocommerce-frontend-manager/ , es un plugin de pago, algunos de ellos tienen sus propias particularidades, no lo he probado, lo mejor, al ser de pago es que consultes directamente a los desarrolladores.

  16. Francisco

    2 octubre, 2019

    Hola antes que nada te felicito por el tutorial muy bien explicado y sin rodeos, tengo una duda este plugin se puede utilizar para agregar marca “brand” como microdatos (que vi en otro de tus artículos) también se puede utilizar para agregar un identificador global por ejemplo el GTIN?

    • Jhon Marreros Guzmán

      4 octubre, 2019

      Hola, supongo que te refieres a este artículo: https://decodecms.com/agregar-microdatos-en-campos-de-productos-en-woocommerce/ , si efectivamente, en ambos artículos usé el plugin de ACF que sirve para añadir campos adicionales.

  17. Juan Carlos

    4 noviembre, 2019

    Ami me funciono perfectamente, gracias,

  18. vetoriano

    28 noviembre, 2019

    hola, Jhon Marreros Guzmán
    Estupendo tutorial. me funciono correctamente en la tienda . me gustaria hacer este mismo pero en las entradas de mi blog para crear eventos o recetas. Podias facilitarme un tutorial ? GRACIAS!!!!

  19. estorde

    29 noviembre, 2019

    Buenas,

    Veo que esto es para insertar los campos personalizados en la página de producto de WooCommerce, a través del hook “woocommerce_single_product_summary” pero a que hook habría que hacer referencia para insertar los campos en una página de proyecto de WordPress sin WooCommerce instalado??

    Lo que intento es mostrar un logo de una discográfica que tenga un link hacia la web de la misma y la fecha de publicación de cada disco

    Mil gracias

    • Jhon Marreros Guzmán

      3 diciembre, 2019

      Hola si quieres mostrarlo al final del contenido puedes usar el filtro the_content, la otra opción es modificar los archivos de tu theme, revisa: https://decodecms.com/como-usar-los-campos-personalizados-en-wordpress/

  20. vetoriano

    5 diciembre, 2019

    Hola Jhon Marreros Guzmán, No me aparece ese campo. busque tanto tiempo esa opcion que antes tenia y no la tengo ahora. Como soluciono ese problema. Gracias!!!

    • Jhon Marreros Guzmán

      6 diciembre, 2019

      Hola no me queda claro a qué campo te refieres, te refieres a los campos peronsonalizados de este tutorial: https://decodecms.com/como-usar-los-campos-personalizados-en-wordpress/ ?

  21. vetoriano

    7 diciembre, 2019

    Hola Jhon Marreros Guzmán, Afirmativo! ese campo no lo tengo. como puedo solucionar el problema? https://decodecms.com/como-usar-los-campos-personalizados-en-wordpress/ . Quiero agregar mas campos en las entradas.

  22. vetoriano

    8 diciembre, 2019

    Ya esta solucionado, encontre el problema. Ya me quedo claro. Disculpame!!!
    Gracias por tu trabajo..

  23. Martn P

    13 diciembre, 2019

    Hola Jhon, me anduvo fantástico!
    Una consulta, como puedo hacer para que no se muestre la información html si el campo queda vacío? En tu ejemplo: para que no se muestre “Género:” si el campo “genero” está vacío.
    Abrazo y gracias por tu post!

    • Jhon Marreros Guzmán

      14 diciembre, 2019

      Hola, tendrías que poner una condicional antes, si hay algún valor diferente de vacío entonces entrará a la condición en la misma línea, es decir:

      if (get_field('genero')) echo "<p><strong>Género: </strong>". get_field('genero')."</p>"; 
      
  24. HERNÁN PADILLA

    26 diciembre, 2019

    Estimado Jhon,
    Es genial la enseñanza, y resulta super.
    Necesito crear campos en los productos, pero el precio debe variar en función de estas variaciones, es una óptica, para que puedas entender para la compra de gafas o lentes, el cliente tiene una receta de parte del medico, en esta receta haya varios datos que necesitamos para calcular el valor del lente final, estos son los datos; Tipo de Cristal, Desviación de Ojo derecho, Desviación del Ojo izquierdo; ejemplo
    Tipo de Cristal: COD0001HUYW Desviación de Ojo derecho: -2 Desviación del Ojo izquierdo: 3
    la desviación de los ojos pueden ser en uno solo ojo o en ambos, y para eso hay rangos de desviación para el ejemplo supongamos que el rango de desviación es 02/04, los valores siempre se consideran positivos, si esta en este rango y el tipo de Cristal es COD0001HUYW, esto me da un precio del Cristal, seria una matriz de desviación y de códigos de cristales, para este caso supongamos que la intersección es el valor de $30000, esto es posiblemente mas avanzado de el caso expuesto, mi duda es como puedo vincular los campos creados, para este caso si tengo la desviación de los ojos en x rango y tengo el código de Cristal el sistema arroje el valor de esta interacción, si es posible por esta camino seria de gran ayuda, espero tu ayuda sino seria genial poder contactarme vía skype y ver posibilidad de asesoría mas directa para exponer mejor el caso.
    saludos y muchas gracias

    • Jhon Marreros Guzmán

      26 diciembre, 2019

      Hola, ¿has evaluado hacerlo con variaciones de WooCommerce?, revisa el siguiente artículo por ejemplo: https://woodemia.com/atributos-en-woocommerce/ , si aún tiene dudas podrías contactarme a través del formulario de contacto: https://decodecms.com/contacto/

  25. Sebastian

    5 enero, 2020

    Hola Jhon, muy buen aporte, hace poco logre crear la integración con el plugin que mencionas en este articulo, ahora compre otro plugin que se llama producto-pdf desde https://www.enriquejros.com/plugins/descargar-producto-pdf-woocommerce/ que lo que hace es mostrar la ficha del producto
    woocomerce en formato pdf, el problema es que obviamente no muestra los campos al generar el archivo, tienes alguna idea de como lo podría hacer o por ultimo llevar los valores?

    • Jhon Marreros Guzmán

      7 enero, 2020

      Hola, es posible que el plugin sólo tome en cuenta los campos que vienen por defecto con WooCommerce y tendrías que implementar algo similar a lo que se ve en este artículo pero a nivel de plugin, es decir el plugin que usas no es compatible con el plugin ACF. Consulta con el soporte de tu plugin a ver que te comentan.

      • Sebastian

        8 enero, 2020

        Gracias por la respuesta, al final lo logre solucionar, tuve que modificar el archivo PHP que generaba el pdf y ahí llame a los campos del ACF de esta manera.
        Ejemplo:

        $procedencia = get_field('procedencia', $this->id);
        

        ahí guardaba en la varialble el valor del campo y luego los escribí manteniendo el código del otro plugin:

        //escribir el valor
         $pdf->Write(6, __('Procedencia del bien: ', 'producto-pdf') . utf8_decode ($procedencia));
        

        Saludos

        • Jhon Marreros Guzmán

          8 enero, 2020

          Qué bueno, gracias por el aporte. Saludos.

  26. Ricardo

    2 abril, 2020

    Hola, gran aportación. Me gustaría saber si se puede evitar en unos productos para que no salga esa info y en otros si.
    Gracias

    • Jhon Marreros Guzmán

      2 abril, 2020

      Hola, puedes hacer condicionales, prueba accediendo al objeto producto $product->get_id() para saber el producto específico.

      • Ricardo

        3 abril, 2020

        Muchas gracias, No existe un opción que habilite o no el campo específico en cada producto?

        • Jhon Marreros Guzmán

          3 abril, 2020

          Hola, no he visto que al momento de crear el grupo de campos con ACF tengas esta opción, por lo que podrías evaluar simplemente dejar el campo vacío en el producto y luego si esta vacío por programación no lo muestras en el detalle de producto.

  27. Ricardo

    4 abril, 2020

    Muchas gracias, sería este código

    My field value:

    Pero no sé donde hay que ponerlo dentro de mi tema.

    • Jhon Marreros Guzmán

      4 abril, 2020

      Hola, para mostrar cada campo antes tienes que validar si tiene contenido, es decir tu código quedaría:

      if (get_field('dimensiones')) echo "Dimensiones: ". get_field('dimensiones').""; 

      Saludos.

      • Ricardo

        5 abril, 2020

        Muchas gracias, ahora funciona genial.
        Saludos

  28. federico

    5 mayo, 2020

    Jhon,

    excelente explicación (y video!). Pero te hago una consulta: ya logramos crear el campo personalizado que se muestra en la página del producto. Pero hay forma de hacer que también se muestre en la página de la tienda (por ejemplo sobre el título del producto)?

    Desde ya, muchas gracias!

    • Jhon Marreros Guzmán

      6 mayo, 2020

      Hola Federico, me lo anoto para revisar esto, es posible que actualice este artículo o haga uno nuevo explicándolo.

  29. erick

    15 mayo, 2020

    Estimado te hago una consulta estoy insertando un archivo PDF en el producto pero al mirarlo en el producto como visitante me entrega el valor :”array” que debo hacer?

    • Jhon Marreros Guzmán

      15 mayo, 2020

      Hola, tal vez la implementación para mostrar el PDF es incorrecta. Si sigues con problemas mejor escríbeme al formulario de contacto: https://decodecms.com/contacto/

  30. caeto

    22 mayo, 2020

    Muchas gracias pude añadir un campo personalizado en en la pagina de la tenda usando woocommerce_after_shop_loop_item_title

    Gracias mIl

    • Jhon Marreros Guzmán

      22 mayo, 2020

      Hola, que bueno, efectivamente puedes usar otro Hook, el que comentas se usa en una lista de productos.
      Saludos.

  31. Gonzalo

    27 mayo, 2020

    Hola Jhon
    Muchas gracias por la información de tu web en https://decodecms.com/campos-personalizados-en-productos-de-woocommerce/

    Estoy tratando de construir una tienda online con ayuda del plugin de campos personalizados. Mi problema es no saber como hacer lo siguiente: usando un campo personalizado tipo Checkbox se pueda elegir varias opciones, en el backend aparecen como un texto con su casilla a marcar, pero me gustaría que en el front end lo que apareciera son una imagen (70x70px) por cada opción marcada. Para mi son dos problemas, uno como configurar el campo personalizado (texto/imagen) y otro el código para que se muestre.

    Muchas gracias. Un saludo

    • Jhon Marreros Guzmán

      27 mayo, 2020

      Hola, aquí comentan algo relacionado a lo que necesitas: https://support.advancedcustomfields.com/forums/topic/image-select-field/ , ya te he contestado igual por el formulario de contacto. Saludos.

  32. edha

    3 junio, 2020

    buenas, he visto en los comentarios que a la gente le funciona…no se si es que estoy haciendo algo mal:
    me marcan estos errores:

    Se ha detectado 1 elemento válido con advertencias

    4 advertencias
    Falta el campo “brand” (opcional)
    Falta el campo “review” (opcional)
    Falta el campo “aggregateRating” (opcional)
    No se ha proporcionado ningún identificador internacional, como un GTIN, un MPN o un ISBN (opcion

    estoy ya desesperadita 🙁

    gracias!!

    • Jhon Marreros Guzmán

      3 junio, 2020

      Hola, los datos de marca y revisiones los agregas a través de plugins, no es necesario que agregues estos datos con campos personalizados.

  33. Lucio

    13 junio, 2020

    HOla exelente aporte. Mi consulta es como puedo colocar en la pagina de productos el campo autor por ejemplo? Sería en una lista de productos.

    • Jhon Marreros Guzmán

      13 junio, 2020

      Hola, si quieres mostrar la información en la lista de productos, debes usar otro Hook, revisa este artículo de referencia (la sección de mostrar cualquier otra información del producto): https://decodecms.com/mostrar-la-descripcion-corta-del-producto-en-la-pagina-de-tienda-de-woocommerce/ , si quieres mostrar un campo de ACF la función get_field() acepta un segundo parámetro que sería el ID del producto.

  34. Esteban

    16 junio, 2020

    Hola, Muy buen tutorial, tenía el problema que google search console me decía que faltaba el campo agregateRating , ( es una web de venta de productos), instalé el plugin cree el campo Rating luego con el código para Mircodatos hice que direccione el campo Rating a aggregateRating el error desapareció pero me pide ahora que falta el campo ratingValue y que se debe especificar el ratingCount y el reviewCount, los cree por separado como hice con el aggregateRating pero no lo valido, pareciera que que son subcampos dentro de aggregateRating. Puede ser ? como podría solucionarlo ? Muchas Gracias por tu ayuda

    • Jhon Marreros Guzmán

      17 junio, 2020

      Hola, todos esos campos van asociados, lo más práctico sería que uses un plugin que te controle todo eso, evalúa por ejemplo: https://wordpress.org/plugins/customer-reviews-woocommerce/

  35. Nelson Huaman

    20 junio, 2020

    Como puedo agregar JS y CSS en un Plugin personalizado para WooCoommerce.
    JS y CSS que se ejecuten cuando carga cada producto y en las pagina de productos.
    Esos archivos de JS y CSS estén incluidos en el la carpeta del Plugin Personalizado para WooCommerce

    Ayuda soy novato en esto. Gracias

    • Jhon Marreros Guzmán

      21 junio, 2020

      Hola, puedes hacerlo en dos pasos, registrarlo en algún hook de inicialización usando wp_register_script(), pero para que cargue en determinadas páginas encolarlo sólo cuando estas usando algún Hook de la página de producto con la función wp_enqueue_script()

  36. moi

    26 junio, 2020

    Hola, cómo puedo aplicarlo para que aparezca en vez de un texto, un link?

    • Jhon Marreros Guzmán

      29 junio, 2020

      Hola, revisa este comentario: https://decodecms.com/campos-personalizados-en-productos-de-woocommerce/#comment-3625

  37. Ricardo Díaz

    7 julio, 2020

    Jhon, solo felicitarte por tu admirable compromiso (y paciencia)

    • Jhon Marreros Guzmán

      8 julio, 2020

      Gracias Ricardo. Saludos.

  38. Erick

    17 julio, 2020

    Hola Jhon. Como podria mostrar estos campos personalizados en forma de Tabla.
    Tengo una tabla de 2 columnas y 6 filas
    en la primera columna van los label de los campos y en la segunda la información de los campos personalizados

    Gracias!

    • Jhon Marreros Guzmán

      19 julio, 2020

      Hola, puedes construir cualquier estructura HTML imprimiéndola con la función echo() de PHP, para la estructura de tabla guíate de: https://www.w3schools.com/html/html_tables.asp

  39. Ezequiel

    27 julio, 2020

    Muchas gracias por el tutorial, muy claro.
    Quisiera agregar un campo condicional para que en el producto pueda poner simplemente “SI” o “NO”, y que en el pedido luego se muestren la cantidad final de “SI”. Eso se puede hacer?

    Nuevamente gracias

    • Jhon Marreros Guzmán

      30 julio, 2020

      Hola, en ese caso implica más programación, evalúa usar un plugin, por ejemplo: https://wordpress.org/plugins/advanced-product-fields-for-woocommerce/

  40. Ezequiel

    29 julio, 2020

    Buen día Jhon, reformulo la pregunta porque me equivoqué.
    Necesito un campo personalizado para marcar una cantidad en cada uno de los productos, y que de alguna forma cuando vea la pantalla del pedido me aparezca el total (La suma de esa cantidad de todos los productos del pedido).
    Se puede hacer esto?
    Muchas gracias!

    • Jhon Marreros Guzmán

      30 julio, 2020

      Hola, quieres un campo similar a cantidad adicional?, en ese caso sería algo personalizado o puedes probar con ACF, posiblemente tenga esa funcionalidad en la versión de pago del plugin.

  41. Andres Guillen

    20 agosto, 2020

    Hola Jhon me gustaría me ayudes, necesito agregar dos campos personalizados pero a cada uno darle un orden diferente (Quiero que uno aparezca antes de la descripción del producto y el otro luego de la descripción) Gracias!

    • Jhon Marreros Guzmán

      22 agosto, 2020

      Hola, te sugiero revisar este artículo en donde se agrega información adicional en distintas secciones de la página de producto: https://decodecms.com/modificar-elementos-en-pagina-de-producto-de-woocommerce/

  42. Gerardo Castillo

    23 agosto, 2020

    Hola! como hago para que esta nuevo campo me aparezca para importar y exportar como cvs en productos, y mi segunda duda es como hago que me aparezca como informativo en el pedido en el panel administrativo.

    • Jhon Marreros Guzmán

      25 agosto, 2020

      Hola, tienes que programar de acuerdo a los Hooks que tienes disponibles, si estas usando un plugin revisa la documentación, por ejemplo para el plugin woocomerce csv import: http://hookr.io/plugins/woocommerce-csv-import/3.2.2/hooks/#index=w

  43. Ferney

    26 septiembre, 2020

    Gracias por la explicación me gustaría resolver una duda adicional, “en el caso de que haya creado taxonomías denominadas Autor, género, editorial respectivamente y quisiera que en el front actuará como enlaces tal como se muestran las etiquetas o categorías ¿como deberia quedar el código? agradezco su colaboracion

    • Jhon Marreros Guzmán

      27 septiembre, 2020

      Hola, para obtener los valores de las taxonomías asignados a una entrada tendrías que hacerlo por programación, específicamente tendrías que usar esta función: https://developer.wordpress.org/reference/functions/get_the_terms/ ten en cuenta que te devolverá un array de valores.

  44. Franklin Calle

    28 septiembre, 2020

    Buen día:

    Una consulta, he instalado el plugin ACF (https://www.advancedcustomfields.com/) y en el grupo: Location (cuando estoy añadiendo nuevo Field Group), en Reglas, defino que sea: Post Type, pero no me muestra la opción: product_variation, solo product. Que debo de hacer para que se muestra la opción: product_variation, ya que lo que necesito es añadir campos adicionales a nivel de las variaciones de los atributos de un producto variable, y si hay algún artículo y/o vídeo que me oriente a mostrarlo en el frontend.

    Se agradece de antemano, su asesoramiento. Saludos cordiales.

    • Jhon Marreros Guzmán

      28 septiembre, 2020

      Hola, consulta con los desarrolladores del plugin, posiblemente tengas esa opción en la versión de pago del plugin.

    • Guillermo

      9 junio, 2021

      Hola Franklin! Estoy buscando hacer lo mismo que vos. Intenté con Formulas de CPO pero ese plugin solo trabaja productos simples, lo que imposibilita identificar cada variación con su SKU …alguna idea al respecto? Pudiste resolverlo?
      Gracias y saludos.

  45. Julieta

    14 octubre, 2020

    Hola Jhon, muchas gracias por el tutorial. Tengo una única duda. Como puedo hacer para excluir los campos que he creado de ciertos productos? Por que ahora me los muestra en todos. Tengo 0 conocimiento de php. GRACIAS!

    • Jhon Marreros Guzmán

      14 octubre, 2020

      Hola, tienes que hacerlo con condicionales, ya sea detectando el ID o usando un campo personalizado indicando que ese producto es la excepción.
      Lamentablemente es un tema de programación, pero puedes revisar las bases de las condicionales, revisa: https://www.php.net/manual/es/control-structures.elseif.php

  46. Daniel Barrantes

    11 noviembre, 2020

    Muy buen tutorial Jhon una consulta como hago para que el campo no se muestre si el campo esta vacio

    add_action( 'woocommerce_single_product_summary', "dcms_caracteristicas_producto", 15 );
    function dcms_caracteristicas_producto(){
      if (function_exists('get_field')){
        echo "<strong>Por Ingresar:</strong> ". get_field('por_ingresar').""; 
    
      }  
    }
    
    • Jhon Marreros Guzmán

      12 noviembre, 2020

      Hola comprueba adicionalmente el campo con una condicional, es decir tu código dentro de la función quedaría:

      
      if (function_exists('get_field')){
      	if (get_field('por_ingresar')){
       		echo "<strong>Por Ingresar:</strong> ". get_field('por_ingresar').""; 
      	}
      }  
      
  47. David

    15 noviembre, 2020

    Gracias por el aporte sin embargo no me funcionó. es decir, hice todos los pasos, solamente agregé un campo personalizado con el plugin, luego coloqué el código en el archivo functions del tema pero no me aparece en la pagina de producto, que hice mal? da igual en que parte del archivo functions pego el codigo? Muchas gracias

    • Jhon Marreros Guzmán

      16 noviembre, 2020

      Hola, por organización de tu código, es recomendable colocarlo al final.
      Sin embargo si no se esta mostrando, podrías probar cambiar temporalmente de theme y colocar el código nuevamente. Prueba en algún theme que viene por defecto con WordPress.

  48. Brian

    16 noviembre, 2020

    Hola Jhon, realmente me ha sido de mucha ayuda este post, cómo podría adaptar el código para poder incluir dos campos personalizados dentro de un div y ponerle una clase para darles estilos, osea que el autor y la editorial estén dentro de un div y la edición y el genero dentro de otro div, en mi caso lo estoy trabajando en la página con el hook de página de la tienda, muchas muchas gracias 🙌

    • Jhon Marreros Guzmán

      18 noviembre, 2020

      Hola, en el código cuando usas la función de PHP “echo” puedes darle la estructura que deseas, por ejemplo:

      echo "<div class='contenedor-grupo'>";
      echo get_field('campo1');
      echo get_field('campo2');
      echo "</div>"; 
      
  49. Ricard

    25 noviembre, 2020

    Felicidades Jhon por el post! Tengo una duda, me gustaría aplicar el código a solamente 1 categoría de producto y el resto sin el codigo de ACF. Como puedo segmentar para que solo aplique a esa categoría concreta.

    Gracias!

    • Jhon Marreros Guzmán

      26 noviembre, 2020

      Hola, tendrías que agregar una condicional adicional y usar posiblemente la función: https://woocommerce.wp-a2z.org/oik_api/wc_get_product_category_list/ para recuperar las categorías del producto.

  50. Jhon Alex

    30 noviembre, 2020

    hola como estas jhon tengo una pregunta aca
    si quiero mostrar esas misma característica que muestro en la descripción del producto, como puedo hacer para mostrarlo también en la pagina de pago ?

    espero que me puedas ayudar saludos desde venezuela

    • Jhon Marreros Guzmán

      3 diciembre, 2020

      Hola
      Sería similar, sin embargo tendrías que usar otro hook, busca por ejemplo información sobre este hook: woocommerce_cart_item_product

      • Jhon Alex

        16 enero, 2021

        fijate estoy usando el mismo código que colocaste como ejemplo
        add_action( ‘woocommerce_single_product_summary’, “dcms_caracteristicas_producto”, 8 );

        function dcms_caracteristicas_producto(){

        if (function_exists(‘get_field’)){
        echo “Edición: “. get_field(‘edicion’).””;
        echo “Autor: “. get_field(‘autor’).””;
        echo “Género: “. get_field(‘genero’).””;
        echo “Editorial: “. get_field(‘editorial’).””;
        }

        }

        todo bien, exelente. Pero quiero mostrar esos mismo valores a la página de pago, no se si me logras entender?

      • Jhon Alex

        16 enero, 2021

        en los detalles del producto me los muestra sin problemas, pero quiero también mostrarlos en la pagina de pago o detalles del producto

  51. Josue Pineda

    2 diciembre, 2020

    Hola.
    Mira tengo una reto, yo tengo el producto en la pagina de producto individual, y quiero agregarle opciones para que el cliente pueda llenar unos datos desde allí.
    lo campos son los siguientes:
    Los productos son pasteles y quiero que adiciones información importante para cuando desea el pastel
    Agregar foto al pastel:
    Agregar dedicatoria al pastel:
    Agregar relleno en medio de la torta:
    fecha:
    Hora:
    Estos datos quiero que se envíen por correo o al usuario encargado de revisar los pedidos.
    Estoy usando el PPOM y me funciona bien me calcula lo que vale agregar foto, agregar relleno, pero no me envía los datos por correo ni me los muestra en el resumen del pedido.

    • Jhon Marreros Guzmán

      3 diciembre, 2020

      Hola, consulta con los desarrolladores del plugin que usas, posiblemente tengan una versión de pago con funcionalidad adicional.

  52. snow

    4 diciembre, 2020

    Hola, muy buen post, me surge una duda leyendo esto, ¿se puede implementar ese contenido en las miniaturas de la tienda? gracias

    • Jhon Marreros Guzmán

      5 diciembre, 2020

      Hola, si, revisa el siguiente artículo que te puede dar una idea de qué hook usar: https://decodecms.com/mostrar-la-descripcion-corta-del-producto-en-la-pagina-de-tienda-de-woocommerce/

  53. Raul

    8 enero, 2021

    Hola, gracias por tus artículos, son de gran utilidad. Tengo una pregunta, estoy trabajando en un desarrollo y quisiera saber si es posible colocar un campo calculado dentro del detalle del producto, por ejemplo, tomar el precio y multiplicarlo por dos y sólo mostrar este número en alguna parte del detalle del producto. Gracias de antemano!.

    • Jhon Marreros Guzmán

      13 enero, 2021

      Hola, si es posible, te sugiero revisar el siguiente artículo que tiene una funcionalidad similar a lo que comentas: https://decodecms.com/modificar-el-precio-de-un-producto-por-codigo-en-woocommerce/

  54. Alfonso

    24 enero, 2021

    Hola Jhon, excelente web y artículos, estoy desarrollando un marketplace y dentro de los productos que quiero que se pueda anunciar son inmuebles y vehículos la duda es ¿cómo hacer que cada uno tenga sus propios campos personalizados? ejemplo:

    Categoría inmuebles: casa con 2 habitaciones, 1 1/2 baños, 1 estacionamiento, ubicado en x, ciudad y, mapa, etc.
    Categoría autos: Marca SEAT, Tipo Córdoba, Modelo 2020, kms 1000, plazas 2, color negro, etc.

    Además de ponerles íconos a cada cosa y deshabilitar el botón de comprar/agregar al carrito discrecionalmente.

    Te agradezco de antemano, saludos.

    • Jhon Marreros Guzmán

      25 enero, 2021

      Hola, la complejidad que planteas es mayor, posiblemente en ese caso lo mejor sería buscar un plugin de marketplace que funcione independiente o integrado con WooCommerce.

  55. Álvaro

    1 febrero, 2021

    Hola! buen día, tengo una consulta. Estoy trabajando una tienda en línea, y necesitan que se agregue un campo para adjuntar archivo de su pedido realizado. Hay alguna manera de agregarlo sin necesidad de plugin o solo puede con plugin?

    Saludos,

    • Jhon Marreros Guzmán

      2 febrero, 2021

      Hola, en este caso si implica mucho código te complicarías, y es mejor centralizarlo en un plugin. Hay varios plugins que tienen esa funcionalidad que buscas.

  56. pau

    4 febrero, 2021

    Hola! excelente tutorial 🙂 , me preguntaba si es posible que el texto aparezca debajo del precio? .

    • Jhon Marreros Guzmán

      6 febrero, 2021

      Hola, posiblemente tengas que usar otro Hook, revisa este artículo de referencia: https://decodecms.com/modificar-elementos-en-pagina-de-producto-de-woocommerce/

  57. Ross Mejias

    8 febrero, 2021

    Hola Jhon! excelente artículo, gracias. Te consulto, deseo mostrar productos por una categoría en específico pero en el home de mi template, el template se llama FLUENCE, y su home no se puede editar visualmente con los editores de front sino que trae un “home settings” donde rellenas y habilitas y deshabilitas bloques con botones 🙁 .
    Este es el sitio web que estoy habilitando.
    https://comicmejillones.cl/

    Muchísimas gracias por tu colaboración

    • Jhon Marreros Guzmán

      8 febrero, 2021

      Hola, difícil saber, al parecer tu theme tiene algo personalizado para el home, sería mejor consultar con los desarrolladores.

      • Ross

        9 febrero, 2021

        ¡muchísimas gracias por responder Jhon! saludos

  58. Diego S

    21 febrero, 2021

    Hola Jhon muy bueno tu aporte me sirvió de mucho, pero tengo un inconveniente, Quiero mostrar la información adicional unicamente en ciertos productos, pero al hacerlo como tu nos explicas, esa información me aparece en todos los productos de mi tienda.

    Intenté seleccionando en el apartado de | Reglas | “Post” en lugar de “Post type” , ya que así aparentemente me daba opción a poner una condición para mostrar ese campo extra únicamente en los productos que necesito, pero no me funciona. No sé si debe ser de incluir alguna función extra en el php.

    Por favor si me puedes ayudar con alguna solución
    Gracias de antemano!

    • Jhon Marreros Guzmán

      22 febrero, 2021

      Hola, prueba validar contra algún campo que no este vacío, es decir si no tiene contenido entonces no muestras nada, algo similar a esto, modificando el código base:

       if (function_exists('get_field') && ! empty( get_field('edicion') ) ){
       ...
       }
      
      • Diego Serrano

        23 febrero, 2021

        Hola Jhon, gracias por tu pronta respuesta, lo he solucionado de la siguiente manera, me está funcionando,crees que esté bien?.

        add_action( 'woocommerce_before_add_to_cart_button', "dcms_caracteristicas_producto", 8 );
        
        function dcms_caracteristicas_producto(){
           
          if (function_exists('the_field')){
         
          if (get_field('titulo')) echo  "  Incluye instalación de barra: " .  get_field('titulo').  "  Válido solo en la ciudad de Cuenca"; 
        
          }
        }
        

        Ahora como hago para mostrar una imagen jaja XD, ya le cree el field para cargar la imagen, pero en el detalle del producto no me muestra. Tengo el siguiente código que me genera el plugin “Advanced Custom Fields: Theme Code”, pero no encuentro manera de implementarlo en el mismo functions.php

        <img src="" alt="" />
        
        • Jhon Marreros Guzmán

          25 febrero, 2021

          Hola, si, el código es correcto, con respecto a la imagen asumo que sólo te guarda la ruta de la imagen, por lo que para mostrarlo, efectivamente tienes que usar la etiqueta HTML img, reemplaza el valor del campo dentro del atributo src, hay varias formas de concatenarlo, realízalo de manera similar a como imprimes el título.

  59. Andres Gonzalez

    3 marzo, 2021

    Hola John, gracias por compartir esta valiosa información, en mi caso utilizo Astra como thema pero los campos personalizados los manda hasta arriba o hasta abajo de la información no me permite colocarlo entre cada elemento,

    • Jhon Marreros Guzmán

      5 marzo, 2021

      Hola, revisa este artículo para encontrar el Hook correcto, juega igualmente cambiando la prioridad: https://decodecms.com/modificar-elementos-en-pagina-de-producto-de-woocommerce/

  60. Norvis Fagundez

    22 marzo, 2021

    Hola Jhon Marreros gracias por tus tan valioso aporte sin duda una referente , pero tengo un pregunta esos campos se crearan en las tablas de la base de datos de modo que pueda pasarle al campo personalizado el dato desde otra tabla ???

    • Jhon Marreros Guzmán

      25 marzo, 2021

      Hola, si, esos campos se crean en la propia base de datos de WordPress y si que podrías llenarlo automáticamente con algún otro dato, aunque tendrías que agregar código adicional para esto.

      • Cristian

        27 julio, 2022

        Hola buen día en que tablas de la base de datos puedo encontrar los campos que se han creado y donde pueod encontrar la información que se guardan en los campos en la configuración del producto

        • Jhon Marreros Guzmán

          27 julio, 2022

          Hola, revisa si hay tablas con el prefijo del plugin, o también es posible que se encuentre como CPT o como metadatos, es decir busca en wp_posts, wp_postmeta, es probable que sean incluso datos serializados en un solo campo.

  61. Bentor

    24 marzo, 2021

    Hola Jhon
    Después de 2 dias buscando como poner ACF en mi market, encontré este articulo que me lo solucionó.
    Me funciona muy bien, pero tengo un filtro de ACF que es el de mapa de google para indicar donde está la casa, pero este no me aparece. Hay que poner un código distinto?
    Gracias

    • Jhon Marreros Guzmán

      25 marzo, 2021

      Hola, posiblemente uses algún iframe que te muestra el mapa de Google que debes insertar como parte del código.

  62. Pepe

    3 abril, 2021

    Vaya plugin si después hay que tocar código. Es un semiplugin

  63. Florencia

    23 mayo, 2021

    Hola, primero que nada muchas gracias por toda la información. Quiero contarte que estoy generando algunos nuevos espacios para mi tienda online como por ejemplo Marca, Componentes y Sellos (son todos productos los que se venden) pero me da un resultado “Array” cuando le selecciono estas opciones. ¿Por qué será esto? Podrías ayudarme?

    • Jhon Marreros Guzmán

      26 mayo, 2021

      Hola, es posible que tengas que recorrer la información ya que un array contiene varios valores.

  64. David

    2 agosto, 2021

    Hola Jhon,
    Tu ejemplo es en los productos de WooCommerce. Yo necesito añadir el campo en la página de categoría de producto, así que imagino que es lo mismo que tu código, pero cambiando el hook.
    En el backoffice si que me aparece el campo personalizado, pero en el front, solo me aparecen los labels, lo que añado en el campo personalizado no se me ve..
    Es porque en categorías hay que hacerlo diferente o donde puede estar el problema?
    Muchas gracias!

    • Jhon Marreros Guzmán

      8 agosto, 2021

      Hola, si, sería con otro Hook, revisa este artículo de referencia: https://decodecms.com/mostrar-la-descripcion-corta-del-producto-en-la-pagina-de-tienda-de-woocommerce/

  65. David

    8 octubre, 2021

    Hola, y como se crearían grupos de campos personalizados solo para alguna categoría de producto.
    Por ejemplo tenemos una web con woocommerce que tiene una categoría de aires acondicionados.
    Solo queremos que aparezcan esos campos personalizados en la edición de este tipo de productos.
    Para otras categorías de producto habría otros grupos de campos personalizados.
    Gracias.

  66. Jhon Marreros Guzmán

    11 octubre, 2021

    Hola, posiblemente tengas que poner una condicional adicional para comprobar si es un producto y si corresponde a una categoría determinada, revisa esta respuesta: https://wordpress.org/support/topic/how-to-check-if-product-is-in-category-woocommerce-then-display-this-code/

  67. jefersson bautista

    3 noviembre, 2021

    Hola jhon Graicas por tu video, mi pregunta es como le hago para mostrar en esos campos datos de una tabla diferente por medio del ID de producto que cree

    • Jhon Marreros Guzmán

      5 noviembre, 2021

      Hola, veo que hay un complemento para ACF, posiblemente en la configuración de “conditional logic” tengas alguna opción: https://wordpress.org/plugins/advanced-custom-fields-table-field/ , si esto no funciona entonces posiblemente tengas que usar código personalizado directamente.

  68. Sergio

    5 noviembre, 2021

    Hola, primero que nada muchas gracias por toda la información. jhon como hago para mostrar esos campos en la edicion de pedidos ? Necesito mostrar esos campos en la adminsitración de pedidos a la hora de despachar el producto. gracias.

    • Jhon Marreros Guzmán

      5 noviembre, 2021

      Hola, posiblemente tengas que guardar los datos en el carrito y luego en la orden, revisa el siguiente artículo relacionado que explica cómo hacer esto: https://decodecms.com/campo-de-texto-para-escribir-en-productos-woocommerce/

      • Sergio

        5 noviembre, 2021

        Hola Jhon. Mil gracias !!! me sirvio mucho lo que explicas en el post
        https://decodecms.com/campo-de-texto-para-escribir-en-productos-woocommerce/

        Saludos desde Argentina

  69. Matias

    12 noviembre, 2021

    Hola Jhon, hace poco conoci tu pagina y videos y la verdad impecable tus trabajos. Queria consultarte sobre el formulario de pago que ya incorpora woocommerce. Cree un campo personalizado y quiero q este no pueda ser visto por un rol especifico en el backend. Existe algun codigo en el function que permita hacer eso?. Desde ya mil gracias.

    • Jhon Marreros Guzmán

      16 noviembre, 2021

      Hola, puedes evaluar ocultarlo por CSS para un determinado rol, revisa el siguiente artículo el cual usa Adminimize para ocultar opciones en la administración de WordPress: https://www.webempresa.com/blog/adminimize-wordpress-oculta-opciones-administrador.html

  70. Victor

    30 noviembre, 2021

    Hola!, esta genial la funcion del plugin, en vez de mostrar en la descripcion corta del producto, ¿se podria insertar la informacion en la seccion junto a los atributos?

    • Jhon Marreros Guzmán

      6 diciembre, 2021

      Hola, revisa los hooks que tienes disponibles, este artículo te puede servir de referencia: https://decodecms.com/guia-visual-de-hooks-para-storefront-y-woocommerce/

  71. cesar

    2 marzo, 2022

    Hola, gracias por tu aporte. Mi consulta es como puedo colocar un campo personalizado dentro de los campos de los productos variables

    • Jhon Marreros Guzmán

      2 marzo, 2022

      Hola César.
      Trabajar con productos variables puede ser un poco más complejo. Espero realizar un artículo en el futuro sobre eso.

      Saludos.

  72. Marcos Moronta Taveras

    4 marzo, 2022

    Hola, gracias por tu ayuda y tu tiempo. He tratado de utilizar el código para utilizar woocommerce como un listado inmobiliario por su versatilidad. Pero cuando aplico el código, a pesar de tener varias categoria de productos y filtro las ubicaciones de los campos en mis categorias,, se sigue mostrando todos los campos en todas las categorias. Qué debo hacer para que solo me muestre los campos especificos en las categorias especificas en cada frontpage de producto? gracias

    add_action( ‘woocommerce_single_product_summary’, “dcms_caracteristicas_producto”, 8 );

    function dcms_caracteristicas_producto(){

    if (function_exists(‘get_field’)){
    echo “Edición: “. get_field(‘edicion’).””;
    echo “Autor: “. get_field(‘autor’).””;
    echo “Género: “. get_field(‘genero’).””;
    echo “Editorial: “. get_field(‘editorial’).””;
    }

    }

    • Jhon Marreros Guzmán

      4 marzo, 2022

      Hola, supongo que no quieres mostrar siempre los mismos campos, sino sólo de acuerdo a un filtro, el filtro supongo que te genera una url con parámetros, podrías detectar los parámetros de la url y de acuerdo a esto mostrar u ocultar campos.
      Saludos

  73. GERSON

    19 agosto, 2022

    hola,
    revisando las consultas, ya alguien pregunto sobre mostrar una imagen del autor, y usted le indico el siguiente código:

    echo “Foto autor: “;

    lo puse y casi funciona, el resultado es como un archivo sin imagen segun https://liibros.com/producto/prueba/

    que podra ser?.. saludos,

    • Jhon Marreros Guzmán

      20 agosto, 2022

      Hola, actualmente en la url que envías ya veo que aparece una imagen en la foto de autor.

  74. GERSON

    23 agosto, 2022

    gracias, casi despues de enviar la consulta, me percaté el plugin tra tres opciones de ruta, segun URl o ID. ,Mil gracias, Ahora le puse un audio y me muestra el reproductor, pero no lo reproduce, favor si tienes alguna observación. https://liibros.com/producto/prueba/. saludos,

    • Jhon Marreros Guzmán

      25 agosto, 2022

      Hola, la url del audio no es válida, puedes comprobar el código con el Inspector de código de tu navegador, mejor usa una url absoluta que haga referencia al audio en el atributo src.

  75. Jesús

    26 septiembre, 2022

    Hola Jhon, lo primero gracias por tu tiempo. No sé si sabras si hay alguna manera de incluir en la pagina donde se añaden los datos del producto, en la parte interna (titulo, precio, check vituel, descargable ect ) una caja donde aparezca embebida parte de una web externa donde hay una determinada información, o si no se puede, añadir un botón donde se pueda abrir una ventana nueva y llevarte a esa pagina web. Estoy intentando hacerlo con plugin pero no veo ningún gratuito y con código no encuentro la pagina para intentar meterlo con código html. Gracias y un saludo

    • Jhon Marreros Guzmán

      28 septiembre, 2022

      Hola, si sigues este tutorial lograrás agregar un campo en donde se puede agregar una url que posteriormente puedes usar.

  76. Manuel Felipe

    29 septiembre, 2022

    Hola Jhon, buenas tardes, pido tu ayuda en lo siguiente, quiero crear a mis articulos de forma global los siguientes campos: País de origen, Ingredientes, CPNP numero, que a su vez cuando yo importe el archivo csv esten en los campos del importador, como lo hago con un plugin o un código sencillo pues no soy bueno en programacion.
    Gracias

    • Jhon Marreros Guzmán

      2 octubre, 2022

      Hola, podrías evaluar usar un plugin para la exportación que te permita exportar la metadata, revisa por ejemplo: https://wordpress.org/plugins/woo-order-export-lite/

  77. ANTONIO

    4 octubre, 2022

    Gracias por tu articulo y tu video, me ha funcionado a la primera, pero ahora me queda la duda de como mostrar en la barra lateral de la tienda los filtros que me permitan filtrar por los campos ACF que he creado , si me puede dar alguna pista? porque en los widgets de gutember no me sale ningun filtro de ACF. Gracias de antemano

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Presentación

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Jooble
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad social woocommerce

Populares

Agregar Google Fonts en WordPress sin usar plugins

Aprende a usar Taxonomías en WordPress

Tablas Responsive en WordPress sin plugins

Agregar login y logout en un menú de WordPress

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2023 Todos los derechos reservados