{"id":2371,"date":"2023-10-17T14:13:38","date_gmt":"2023-10-17T14:13:38","guid":{"rendered":"https:\/\/pruebasweb.argenispaz.com\/?p=2371"},"modified":"2023-10-19T16:51:57","modified_gmt":"2023-10-19T16:51:57","slug":"como-crear-productos-por-programacion-en-woocommerce","status":"publish","type":"post","link":"https:\/\/pruebasweb.argenispaz.com\/index.php\/2023\/10\/17\/como-crear-productos-por-programacion-en-woocommerce\/","title":{"rendered":"\u00bfC\u00f3mo crear productos por programaci\u00f3n en WooCommerce?"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00bb1&#8243; _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_row _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>En la era digital, la eficiencia y la automatizaci\u00f3n son esenciales para mantener una tienda en l\u00ednea competitiva. WooCommerce, siendo una de las plataformas de comercio electr\u00f3nico m\u00e1s populares, ofrece una amplia gama de herramientas para facilitar la gesti\u00f3n de productos.<\/p>\n<p>Sin embargo, <strong>\u00bfqu\u00e9 sucede cuando necesitamos a\u00f1adir una gran cantidad de productos o realizar actualizaciones masivas?<\/strong> Aqu\u00ed es donde entra en juego la creaci\u00f3n de productos por programaci\u00f3n en WooCommerce. Esta t\u00e9cnica no solo te ahorra tiempo, sino que tambi\u00e9n minimizamos los errores humanos, garantizando una gesti\u00f3n de productos m\u00e1s fluida y precisa.<\/p>\n<p>En esta gu\u00eda, exploraremos c\u00f3mo puedes aprovechar la programaci\u00f3n para mejorar y agilizar el proceso de gesti\u00f3n de <a href=\"https:\/\/www.webempresa.com\/blog\/insertar-productos-de-woocommerce-en-paginas-o-entradas-de-wordpress.html\">productos en WooCommerce<\/a>. <strong>\u00a1Prep\u00e1rate para llevar tu tienda al siguiente nivel!<\/strong><\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<h2>\u00bfQue son los productos en WooCommerce?<\/h2>\n<p>WooCommerce ha revolucionado el mundo del comercio electr\u00f3nico, permitiendo a cualquier persona con un sitio WordPress vender en l\u00ednea. Pero,<strong> \u00bfqu\u00e9 ser\u00eda de una tienda sin sus productos?<\/strong> En el coraz\u00f3n de WooCommerce, encontramos los productos, que son en esencia los art\u00edculos o servicios que los propietarios de tiendas ofrecen a sus clientes.<\/p>\n<p>Estos pueden ser desde productos f\u00edsicos como ropa o electr\u00f3nica hasta productos digitales como libros electr\u00f3nicos o cursos en l\u00ednea. Cada producto en WooCommerce tiene detalles particulares, como el <strong>t\u00edtulo<\/strong>, <strong>descripci\u00f3n<\/strong>, <strong>precio<\/strong>, <strong>imagen<\/strong>, y <strong>m\u00e1s<\/strong>.<\/p>\n<p>Adem\u00e1s, WooCommerce permite una gran flexibilidad en la configuraci\u00f3n de estos productos, ofreciendo opciones como <a href=\"https:\/\/www.webempresa.com\/blog\/variaciones-productos-woocommerce-buenas-practicas.html\">productos variables en WooCommerce<\/a> <strong>(por ejemplo, una camiseta que viene en diferentes tallas y colores)<\/strong> o productos agrupados <strong>(un conjunto de art\u00edculos relacionados)<\/strong>.<\/p>\n<p>[\/et_pb_text][et_pb_image src=\u00bbhttps:\/\/pruebasweb.argenispaz.com\/wp-content\/uploads\/2023\/10\/vista-de-un-producto-en-WooCommerce.gif\u00bb title_text=\u00bbvista de un producto en WooCommerce\u00bb _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_image][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>Pero m\u00e1s all\u00e1 de la simple definici\u00f3n, los productos en WooCommerce son el puente entre el negocio y el cliente. Son la representaci\u00f3n digital de lo que ofrecemos, y por ello, gestionarlos de forma adecuada es esencial para el <strong>\u00e9xito de nuestra tienda<\/strong> en l\u00ednea.<\/p>\n<p>A medida que avanzamos en esta gu\u00eda, descubriremos c\u00f3mo la programaci\u00f3n puede ser una herramienta poderosa en esta gesti\u00f3n, optimizando procesos y mejorando la experiencia tanto para el vendedor como para el comprador.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<h2>\u00bfPor qu\u00e9 crear productos por programaci\u00f3n en WooCommerce?<\/h2>\n<p>En lo que respecta a WooCommerce, la flexibilidad y adaptabilidad son dos de sus pilares fundamentales. Si bien la plataforma ofrece una interfaz amigable para agregar y gestionar productos, hay situaciones en las que hacerlo de forma manual puede resultar tedioso o ineficiente. Aqu\u00ed es donde entra en juego la creaci\u00f3n de productos por programaci\u00f3n.<\/p>\n<p><strong>Eficiencia en la gesti\u00f3n masiva:<\/strong> imaginemos tener que a\u00f1adir cientos o incluso miles de productos a nuestra tienda. Hacerlo uno por uno ser\u00eda una tarea tit\u00e1nica. La programaci\u00f3n permite automatizar este proceso, ahorrando <strong>tiempo y esfuerzo<\/strong>.<\/p>\n<p><strong>Personalizaci\u00f3n avanzada:<\/strong> a trav\u00e9s de la programaci\u00f3n, podemos definir caracter\u00edsticas espec\u00edficas o aplicar condiciones especiales a nuestros productos, algo que a veces no es posible con las opciones est\u00e1ndar de WooCommerce.<\/p>\n<p><strong>Integraciones externas:<\/strong> si nuestro negocio depende de proveedores o sistemas externos, la programaci\u00f3n puede ser la llave para sincronizar de forma autom\u00e1tica los productos entre diferentes plataformas.<\/p>\n<p><strong>Actualizaciones din\u00e1micas:<\/strong> los precios, el stock o las descripciones pueden cambiar con frecuencia. Con la programaci\u00f3n, podemos establecer reglas o gatillos que actualicen estos datos en tiempo real o en momentos espec\u00edficos.<\/p>\n<p><strong>Optimizaci\u00f3n del flujo de trabajo:<\/strong> al automatizar la creaci\u00f3n y gesti\u00f3n de productos, podemos centrarte en otras \u00e1reas cruciales de tu negocio, como el marketing o la atenci\u00f3n al cliente.<\/p>\n<p>Crear productos por <strong>programaci\u00f3n en WooCommerce<\/strong> no es solo una cuesti\u00f3n de comodidad, sino una estrategia inteligente para optimizar recursos, mejorar la gesti\u00f3n y ofrecer una experiencia de compra superior a los clientes. Al dominar esta habilidad, abrimos un mundo de posibilidades para nuestra <a href=\"https:\/\/www.webempresa.com\/wordpress\/crear-tienda-wordpress-con-woocommerce.html\">tienda en l\u00ednea WordPress<\/a>.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<h2>\u00bfC\u00f3mo crear productos por programaci\u00f3n en WooCommerce?<\/h2>\n<p>Crear productos de manera programada en WooCommerce nos abre las puertas a un mundo de eficiencia y personalizaci\u00f3n. Mediante la programaci\u00f3n, podemos generar productos en nuestra tienda con una <strong>precisi\u00f3n y velocidad<\/strong> que de forma manual ser\u00eda imposible.<\/p>\n<p>Utilizando c\u00f3digo, accedemos a una v\u00eda de creaci\u00f3n de productos que nos permite, no solo agilizar el proceso, sino tambi\u00e9n integrar datos de manera m\u00e1s precisa y autom\u00e1tica. Este enfoque nos brinda un control total sobre cada aspecto del producto, prepar\u00e1ndonos para enfrentar el dinamismo del comercio digital con herramientas <strong>robustas y flexibles<\/strong>.<\/p>\n<p>A continuaci\u00f3n, vamos a ver un paso a paso a trav\u00e9s de los pasos esenciales para lograrlo:<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<h3>Preparativos iniciales<\/h3>\n<p>Antes de sumergirnos en el c\u00f3digo y todo lo que podemos hacer con este, debemos asegurarnos de tener una <a href=\"https:\/\/www.webempresa.com\/blog\/backups-wordpress-en-2-minutos-con-all-in-one-migration.html\">copia de seguridad de WordPress<\/a> de nuestro sitio web. Ya sea mediante cualquier plugin de respaldos de WordPress o mediante nuestro sistema de superbackup.<\/p>\n<p>Si optamos por <a href=\"https:\/\/guias.webempresa.com\/preguntas-frecuentes\/gestionar-copias-de-seguridad-con-superbackup-en-cpanel\/\">SuperBackup de Webempresa<\/a>, podemos descargar una copia de seguridad de nuestro sitio de forma manual. Adem\u00e1s, si tenemos alg\u00fan plugin que facilite esta tarea, tambi\u00e9n podemos usarlo. El objetivo es asegurarnos de tener una forma de restaurar nuestro sitio web en caso de cualquier problema.<\/p>\n<p>[\/et_pb_text][et_pb_image src=\u00bbhttps:\/\/pruebasweb.argenispaz.com\/wp-content\/uploads\/2023\/10\/superbackup-en-wepanel.gif\u00bb title_text=\u00bbsuperbackup en wepanel\u00bb _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_image][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<h3>Accede a las funciones del tema<\/h3>\n<p>Despu\u00e9s de configurar nuestro primer respaldo, necesitamos localizar nuestro archivo <a href=\"https:\/\/www.webempresa.com\/blog\/functions-php-wordpress-restauralo-tras-un-desastre.html\">functions.php<\/a>. Aunque hay herramientas que pueden ayudar en este proceso, lo mejor es hacerlo de forma manual para asegurarnos de que funcione de forma correcta y se ejecute como necesitamos.<\/p>\n<p>Para ello ingresamos a nuestro <a href=\"https:\/\/www.webempresa.com\/blog\/que-es-cpanel-tutorial-completo.html\">cpanel<\/a> o <a href=\"https:\/\/guias.webempresa.com\/preguntas-frecuentes\/como-acceder-a-wepanel\/\">wepanel<\/a> y nos ubicamos en:<\/p>\n<p><strong>Administrador de archivos &gt; Public_html &gt; Dominio &gt; wp-content &gt; themes &gt; tema utilizado &gt; archivo functions.php<\/strong><\/p>\n<p>Una vez encontramos este archivo ya podemos proceder con el siguiente paso que involucrara un peque\u00f1o <a href=\"https:\/\/www.webempresa.com\/blog\/hooks-wordpress-como-utilizarlos-guia-rapida.html\">Hook<\/a> para poder hacer el llamado al c\u00f3digo que agregaremos luego.<\/p>\n<p>[\/et_pb_text][et_pb_image src=\u00bbhttps:\/\/pruebasweb.argenispaz.com\/wp-content\/uploads\/2023\/10\/ubicacion-functions.gif\u00bb _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb title_text=\u00bbubicacion functions\u00bb sticky_enabled=\u00bb0&#8243;][\/et_pb_image][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<h3>Hook principal<\/h3>\n<p>Luego de que encontramos nuestro archivo <strong>functions.php<\/strong> procedemos con agregar el hook principal, para agilizar podemos copiar y pegar el siguiente c\u00f3digo al final de nuestro archivo:<\/p>\n<p>[\/et_pb_text][et_pb_code _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<code><\/p>\n<pre>add_action('wp_head', function () {<!-- [et_pb_line_break_holder] -->if (is_page('pagina-ejemplo')) {<!-- [et_pb_line_break_holder] -->crear_producto_simple();<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->});<\/pre>\n<p><\/code>[\/et_pb_code][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>Con este vamos a generar una acci\u00f3n en una p\u00e1gina, en este caso la que contenga la URL <strong>pagina-ejemplo<\/strong>, esta URL podemos cambiarla a algo m\u00e1s espec\u00edfico como carga-de-producto-simple, o cualquier otro nombre que queramos para que no sea accesible al p\u00fablico en general.<\/p>\n<p>Este har\u00e1 un llamamiento a la funci\u00f3n de <strong>crear_producto_simple();<\/strong>, si queremos agregar productos variables podemos cambiar el simple del final por variable.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h3>Crear productos simples con c\u00f3digos<\/h3>\n<p>Ahora, solo tenemos que a\u00f1adir la funci\u00f3n espec\u00edfica para crear el producto. La veremos a continuaci\u00f3n y podemos agregarla despu\u00e9s del c\u00f3digo que insertamos en el paso anterior. De esta manera, al visitar la p\u00e1gina de ejemplo, WordPress ejecutar\u00e1 esta funci\u00f3n para crear el producto.<\/p>\n<p>[\/et_pb_text][et_pb_code _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<code><\/p>\n<pre>function crear_producto_simple(){<!-- [et_pb_line_break_holder] -->try {<!-- [et_pb_line_break_holder] -->\t$product = new WC_Product_Simple();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ General info<!-- [et_pb_line_break_holder] -->\t$product->set_name( 'Producto de ejemplo' );<!-- [et_pb_line_break_holder] -->\t$product->set_sku( '12345' );<!-- [et_pb_line_break_holder] -->\t$product->set_description( 'Descripci\u00f3n del producto' );<!-- [et_pb_line_break_holder] -->\t$product->set_short_description( 'Descripci\u00f3n corta del producto' );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ Visibility info<!-- [et_pb_line_break_holder] -->\t$product->set_status( 'publish' );  \/\/ can be publish, pending, draft, etc<!-- [et_pb_line_break_holder] -->\t$product->set_catalog_visibility( 'visible' ); \/\/ add the product visibility status<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ Stock info<!-- [et_pb_line_break_holder] -->\t$product->set_manage_stock( true );<!-- [et_pb_line_break_holder] -->\t$product->set_stock_quantity( 1000 );<!-- [et_pb_line_break_holder] -->\t$product->set_stock_status();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ Price info<!-- [et_pb_line_break_holder] -->\t$product->set_price( 100 );<!-- [et_pb_line_break_holder] -->\t$product->set_regular_price( 100 );<!-- [et_pb_line_break_holder] -->\t$product->set_sale_price( 90 );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ Taxonomy info<!-- [et_pb_line_break_holder] -->\t$product->set_category_ids( [ 280 ] ); \/\/ array of category ids, 15 is cat id<!-- [et_pb_line_break_holder] -->\t$product->set_tag_ids( [ 302, 304 ] ); \/\/ array of tag ids<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ Image info<!-- [et_pb_line_break_holder] -->\t$product->set_image_id( 57 ); \/\/ image id from media library<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ Dimension info<!-- [et_pb_line_break_holder] -->\t$product->set_height( 10 );<!-- [et_pb_line_break_holder] -->\t$product->set_length( 10 );<!-- [et_pb_line_break_holder] -->\t$product->set_width( 10 );<!-- [et_pb_line_break_holder] -->\t$product->set_weight( 1.2 );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ Attributes info<!-- [et_pb_line_break_holder] -->\t$brand = new WC_Product_Attribute();<!-- [et_pb_line_break_holder] -->\t$brand->set_name( 'Marca' );<!-- [et_pb_line_break_holder] -->\t$brand->set_options( [ 'Lacoste', 'Tommy Hilfiger' ] );<!-- [et_pb_line_break_holder] -->\t$brand->set_position( 1 );<!-- [et_pb_line_break_holder] -->\t$brand->set_variation( false );<!-- [et_pb_line_break_holder] -->\t$brand->set_visible( true );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t$product->set_attributes( [ $brand ] );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ Save product<!-- [et_pb_line_break_holder] -->\t$product->save();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->} catch ( WC_Data_Exception $e ) {<!-- [et_pb_line_break_holder] -->\terror_log( print_r( $e->getMessage(), true ) );<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->}<\/pre>\n<p><\/code>[\/et_pb_code][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<h3>Prueba del c\u00f3digo<\/h3>\n<p>Una vez lo agregamos si entramos a la p\u00e1gina que asignamos en nuestro archivo <strong>functions.php<\/strong> no veremos nada en concreto, incluso podr\u00edamos llegar a pensar que no ha funcionado lo que hemos hecho, pero si vamos a nuestra p\u00e1gina de productos podemos ver como este se ha creado seg\u00fan los datos que le hemos proporcionado.<\/p>\n<p>Teniendo en cuenta que estos los podemos modificar a conveniencia.<\/p>\n<p>[\/et_pb_text][et_pb_image src=\u00bbdata:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMTA4MCIgaGVpZ2h0PSI1NDAiIHZpZXdCb3g9IjAgMCAxMDgwIDU0MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0VCRUJFQiIgZD0iTTAgMGgxMDgwdjU0MEgweiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NDUuNjQ5IDU0MGgtOTguOTk1TDE0NC42NDkgMzM3Ljk5NSAwIDQ4Mi42NDR2LTk4Ljk5NWwxMTYuMzY1LTExNi4zNjVjMTUuNjItMTUuNjIgNDAuOTQ3LTE1LjYyIDU2LjU2OCAwTDQ0NS42NSA1NDB6IiBmaWxsLW9wYWNpdHk9Ii4xIiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgICAgICA8Y2lyY2xlIGZpbGwtb3BhY2l0eT0iLjA1IiBmaWxsPSIjMDAwIiBjeD0iMzMxIiBjeT0iMTQ4IiByPSI3MCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDgwIDM3OXYxMTMuMTM3TDcyOC4xNjIgMTQwLjMgMzI4LjQ2MiA1NDBIMjE1LjMyNEw2OTkuODc4IDU1LjQ0NmMxNS42Mi0xNS42MiA0MC45NDgtMTUuNjIgNTYuNTY4IDBMMTA4MCAzNzl6IiBmaWxsLW9wYWNpdHk9Ii4yIiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgIDwvZz4KPC9zdmc+Cg==\u00bb _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_image][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<h3>Crear productos variables con c\u00f3digos<\/h3>\n<p>El proceso de creaci\u00f3n de un <strong>producto variable<\/strong> ser\u00eda muy similar al anterior, con algunos cambios en el c\u00f3digo, sin embargo, en este caso en lugar de terminar el c\u00f3digo al momento de guardar el producto este va a seguir estableciendo las variaciones del mismo.<\/p>\n<p>Hacemos llamados de la misma forma que lo hemos hecho con el paso anterior agregamos una funci\u00f3n para que el proceso de agregarlo sea m\u00e1s sencillo y esta la agregamos al final de nuestro archivo <strong>functions.php<\/strong>.<\/p>\n<p>[\/et_pb_text][et_pb_code _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<code><\/p>\n<pre>function crear_producto_variable(){<!-- [et_pb_line_break_holder] -->try {<!-- [et_pb_line_break_holder] -->\t$product = new WC_Product_Variable();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ General info<!-- [et_pb_line_break_holder] -->\t$product->set_name( 'Producto de ejemplo variable' );<!-- [et_pb_line_break_holder] -->\t$product->set_sku( '123456' );<!-- [et_pb_line_break_holder] -->\t$product->set_description( 'Descripci\u00f3n del producto variable' );<!-- [et_pb_line_break_holder] -->\t$product->set_short_description( 'Descripci\u00f3n corta del producto variable' );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ Visibility info<!-- [et_pb_line_break_holder] -->\t$product->set_status( 'publish' );  \/\/ can be publish, pending, draft, etc<!-- [et_pb_line_break_holder] -->\t$product->set_catalog_visibility( 'visible' ); \/\/ add the product visibility status<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ Taxonomy info<!-- [et_pb_line_break_holder] -->\t$product->set_category_ids( [ 281 ] ); \/\/ array of category ids, 15 is cat id<!-- [et_pb_line_break_holder] -->\t$product->set_tag_ids( [ 302 ] ); \/\/ array of tag ids<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ Image info<!-- [et_pb_line_break_holder] -->\t$product->set_image_id( 55 ); \/\/ image id from media library<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ Attributes info<!-- [et_pb_line_break_holder] -->\t$color = new WC_Product_Attribute();<!-- [et_pb_line_break_holder] -->\t$color->set_name( 'Color' );<!-- [et_pb_line_break_holder] -->\t$color->set_options( [ 'Azul', 'Blanco', 'Rojo' ] );<!-- [et_pb_line_break_holder] -->\t$color->set_position( 2 );<!-- [et_pb_line_break_holder] -->\t$color->set_variation( true );<!-- [et_pb_line_break_holder] -->\t$color->set_visible( true );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t$logo = new WC_Product_Attribute();<!-- [et_pb_line_break_holder] -->\t$logo->set_name( 'Logo' );<!-- [et_pb_line_break_holder] -->\t$logo->set_options( [ 'Si', 'No' ] );<!-- [et_pb_line_break_holder] -->\t$logo->set_position( 1 );<!-- [et_pb_line_break_holder] -->\t$logo->set_variation( true );<!-- [et_pb_line_break_holder] -->\t$logo->set_visible( true );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t$product->set_attributes( [ $color , $logo] );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ Save product<!-- [et_pb_line_break_holder] -->\t$product->save();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t\/\/ Variations<!-- [et_pb_line_break_holder] -->\t$variation = new WC_Product_Variation();<!-- [et_pb_line_break_holder] -->\t$variation->set_parent_id( $product->get_id() );<!-- [et_pb_line_break_holder] -->\t$variation->set_attributes( [ 'color' => 'Azul', 'logo' => 'Si' ] );<!-- [et_pb_line_break_holder] -->\t$variation->set_regular_price( 111 );<!-- [et_pb_line_break_holder] -->\t$variation->save();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t$variation = new WC_Product_Variation();<!-- [et_pb_line_break_holder] -->\t$variation->set_parent_id( $product->get_id() );<!-- [et_pb_line_break_holder] -->\t$variation->set_attributes( [ 'color' => 'Azul', 'logo' => 'No' ] );<!-- [et_pb_line_break_holder] -->\t$variation->set_regular_price( 110 );<!-- [et_pb_line_break_holder] -->\t$variation->save();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t$variation = new WC_Product_Variation();<!-- [et_pb_line_break_holder] -->\t$variation->set_parent_id( $product->get_id() );<!-- [et_pb_line_break_holder] -->\t$variation->set_attributes( [ 'color' => 'Blanco' ] );<!-- [et_pb_line_break_holder] -->\t$variation->set_regular_price( 100 );<!-- [et_pb_line_break_holder] -->\t$variation->save();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\t$variation = new WC_Product_Variation();<!-- [et_pb_line_break_holder] -->\t$variation->set_parent_id( $product->get_id() );<!-- [et_pb_line_break_holder] -->\t$variation->set_attributes( [ 'color' => 'Rojo' ] );<!-- [et_pb_line_break_holder] -->\t$variation->set_regular_price( 115 );<!-- [et_pb_line_break_holder] -->\t$variation->save();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->} catch ( WC_Data_Exception $e ) {<!-- [et_pb_line_break_holder] -->\terror_log( print_r( $e->getMessage(), true ) );<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->}<\/pre>\n<p><\/code>[\/et_pb_code][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<h3>Prueba del c\u00f3digo<\/h3>\n<p>Igual que hicimos con el c\u00f3digo anterior, al visitar una p\u00e1gina que hemos definido como activadora, se ejecutar\u00e1 el c\u00f3digo que crea este nuevo producto. Es importante destacar que cada c\u00f3digo puede ser personalizado para ajustar los detalles que necesitemos, como cambiar los tipos de variaciones o agregar m\u00e1s.<\/p>\n<p>Cada c\u00f3digo es libre de ser editado y modificado seg\u00fan nuestras dependencias para la creaci\u00f3n del producto, una vez hecho esto tendremos el producto listo en la p\u00e1gina de <strong>WooCommerce &gt; productos<\/strong>.<\/p>\n<p>[\/et_pb_text][et_pb_image src=\u00bbdata:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMTA4MCIgaGVpZ2h0PSI1NDAiIHZpZXdCb3g9IjAgMCAxMDgwIDU0MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iI0VCRUJFQiIgZD0iTTAgMGgxMDgwdjU0MEgweiIvPgogICAgICAgIDxwYXRoIGQ9Ik00NDUuNjQ5IDU0MGgtOTguOTk1TDE0NC42NDkgMzM3Ljk5NSAwIDQ4Mi42NDR2LTk4Ljk5NWwxMTYuMzY1LTExNi4zNjVjMTUuNjItMTUuNjIgNDAuOTQ3LTE1LjYyIDU2LjU2OCAwTDQ0NS42NSA1NDB6IiBmaWxsLW9wYWNpdHk9Ii4xIiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgICAgICA8Y2lyY2xlIGZpbGwtb3BhY2l0eT0iLjA1IiBmaWxsPSIjMDAwIiBjeD0iMzMxIiBjeT0iMTQ4IiByPSI3MCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDgwIDM3OXYxMTMuMTM3TDcyOC4xNjIgMTQwLjMgMzI4LjQ2MiA1NDBIMjE1LjMyNEw2OTkuODc4IDU1LjQ0NmMxNS42Mi0xNS42MiA0MC45NDgtMTUuNjIgNTYuNTY4IDBMMTA4MCAzNzl6IiBmaWxsLW9wYWNpdHk9Ii4yIiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgIDwvZz4KPC9zdmc+Cg==\u00bb _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_image][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2>Conclusiones<\/h2>\n<p>La gesti\u00f3n de una tienda en l\u00ednea implica constantes desaf\u00edos y adaptaciones. En el mundo de WooCommerce, la capacidad de crear productos por programaci\u00f3n no es solo una habilidad t\u00e9cnica, sino una puerta hacia una gesti\u00f3n m\u00e1s eficiente y personalizada de nuestra tienda.<\/p>\n<p>Aunque al principio puede parecer una tarea compleja, con la gu\u00eda adecuada y un poco de pr\u00e1ctica, se convierte en una herramienta invaluable. Al dominar esta t\u00e9cnica, no solo ahorremos tiempo, sino que tambi\u00e9n abrimos posibilidades de integraci\u00f3n y automatizaci\u00f3n que antes parec\u00edan inalcanzables.<\/p>\n<p>Utilizando c\u00f3digo, accedemos a una v\u00eda de creaci\u00f3n de productos que nos permite, no solo agilizar el proceso, sino tambi\u00e9n integrar datos de manera m\u00e1s precisa y autom\u00e1tica. Desde establecer caracter\u00edsticas espec\u00edficas hasta asignar categor\u00edas, la programaci\u00f3n se convierte en un aliado invaluable<\/p>\n<p>En resumen, invertir tiempo en aprender a crear productos por programaci\u00f3n en WooCommerce es, sin duda, invertir en el futuro y \u00e9xito de tu negocio en l\u00ednea. <strong>\u00a1Adelante y explora todo lo que esta habilidad tiene para ofrecer!<\/strong><\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p>Tambi\u00e9n te puede interesar:<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/como-comprar-un-dominio.html\">C\u00f3mo comprar un dominio<\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/bookings-reservas-tiendas-online-woocommerce.html\">Plugin de Reservas para WordPress<\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/cual-es-la-diferencia-entre-hosting-y-dominio.html\">Diferencia entre hosting y dominio<\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/wp-config-php-en-wordpress.html\">Wp-config.php en WordPress<\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/como-saber-el-hosting-de-una-web.html\">Saber el hosting de una web<\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/base-de-datos-wordpress.html\">Base de Datos en WordPress<\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/exportando-importando-contenidos-de-wordpress-com-a-un-hosting-con-wordpress.html\">Migrar de WordPress.com a WordPress.org<\/a><\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En la era digital, la eficiencia y la automatizaci\u00f3n son esenciales para mantener una tienda en l\u00ednea competitiva. WooCommerce, siendo una de las plataformas de comercio electr\u00f3nico m\u00e1s populares, ofrece una amplia gama de herramientas para facilitar la gesti\u00f3n de productos. Sin embargo, \u00bfqu\u00e9 sucede cuando necesitamos a\u00f1adir una gran cantidad de productos o realizar [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/posts\/2371"}],"collection":[{"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/comments?post=2371"}],"version-history":[{"count":30,"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/posts\/2371\/revisions"}],"predecessor-version":[{"id":2415,"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/posts\/2371\/revisions\/2415"}],"wp:attachment":[{"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/media?parent=2371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/categories?post=2371"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/tags?post=2371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}