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.

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
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.

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

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

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.

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
¿Aún con dudas?, en el siguiente video se detalla los puntos anteriores.
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.
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.
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.
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.
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?
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.
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:
sin embargo por algún motivo, no me pinta el valor del campo en el front….
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.
hola exente tutorial , todo perfecto lo único es que no se imprimen los datos capturados en el frot…. espero su valiosa colaboración
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.
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
Hola, parece que hay un plugin que te puede ayudar con los filtros y que veo que se integra con ACF (Advanced Custom Fields)
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
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.
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.
Hola, usa código CSS al mostrar los campos en el front-end, por ejemplo en:
Aunque lógicamente lo mejor sería que tengas clases CSS que puedas reutilizar en lugar de colocar estilos en línea.
Gracias por el aporte, esta excelente , pregunta que plantillas, podrias recomendar para una tienda en linea de aparatos electronicos y domesticos.
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.
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:
Disculpa las molestias por enviar varios mensajes, no lograba pegar correctamente el código que he probado y muchas gracias
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:
Saludos.
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
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
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
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/
Hola de nuevo.
Ya lo he solucionado.
Si alguien está interesado cuelgo el código.
Un saludo
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
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:
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.
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
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.
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!
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()
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 ?
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.
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?
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.
Ami me funciono perfectamente, gracias,
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!!!!
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
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/
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!!!
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/ ?
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.
Ya esta solucionado, encontre el problema. Ya me quedo claro. Disculpame!!!
Gracias por tu trabajo..
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!
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:
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
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/
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?
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.
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:
ahí guardaba en la varialble el valor del campo y luego los escribí manteniendo el código del otro plugin:
Saludos
Qué bueno, gracias por el aporte. Saludos.
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
Hola, puedes hacer condicionales, prueba accediendo al objeto producto $product->get_id() para saber el producto específico.
Muchas gracias, No existe un opción que habilite o no el campo específico en cada producto?
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.
Muchas gracias, sería este código
My field value:
Pero no sé donde hay que ponerlo dentro de mi tema.
Hola, para mostrar cada campo antes tienes que validar si tiene contenido, es decir tu código quedaría:
Saludos.
Muchas gracias, ahora funciona genial.
Saludos
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!
Hola Federico, me lo anoto para revisar esto, es posible que actualice este artículo o haga uno nuevo explicándolo.
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?
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/
Muchas gracias pude añadir un campo personalizado en en la pagina de la tenda usando woocommerce_after_shop_loop_item_title
Gracias mIl
Hola, que bueno, efectivamente puedes usar otro Hook, el que comentas se usa en una lista de productos.
Saludos.
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
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.
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!!
Hola, los datos de marca y revisiones los agregas a través de plugins, no es necesario que agregues estos datos con campos personalizados.
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.
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.
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
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/
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
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()
Hola, cómo puedo aplicarlo para que aparezca en vez de un texto, un link?
Hola, revisa este comentario: https://decodecms.com/campos-personalizados-en-productos-de-woocommerce/#comment-3625
Jhon, solo felicitarte por tu admirable compromiso (y paciencia)
Gracias Ricardo. Saludos.
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!
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
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
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/
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!
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.
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!
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/
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.
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
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
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.
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.
Hola, consulta con los desarrolladores del plugin, posiblemente tengas esa opción en la versión de pago del plugin.
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!
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
Muy buen tutorial Jhon una consulta como hago para que el campo no se muestre si el campo esta vacio
Hola comprueba adicionalmente el campo con una condicional, es decir tu código dentro de la función quedaría:
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
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.
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 🙌
Hola, en el código cuando usas la función de PHP «echo» puedes darle la estructura que deseas, por ejemplo:
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!
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.
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
Hola
Sería similar, sin embargo tendrías que usar otro hook, busca por ejemplo información sobre este hook: woocommerce_cart_item_product
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?
en los detalles del producto me los muestra sin problemas, pero quiero también mostrarlos en la pagina de pago o detalles del producto
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.
Hola, consulta con los desarrolladores del plugin que usas, posiblemente tengan una versión de pago con funcionalidad adicional.
Hola, muy buen post, me surge una duda leyendo esto, ¿se puede implementar ese contenido en las miniaturas de la tienda? gracias
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/
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!.
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/
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.
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.