{"id":1922,"date":"2023-03-29T10:00:00","date_gmt":"2023-03-29T16:00:00","guid":{"rendered":"http:\/\/racmanuel.dev\/?p=1922"},"modified":"2023-03-24T15:47:43","modified_gmt":"2023-03-24T21:47:43","slug":"como-crear-pedidos-en-woocommerce-de-manera-programatica","status":"publish","type":"post","link":"https:\/\/racmanuel.dev\/en\/como-crear-pedidos-en-woocommerce-de-manera-programatica\/","title":{"rendered":"How to create orders programmatically in WooCommerce"},"content":{"rendered":"<p class=\"wp-block-paragraph\">\u00a1Hola a todos! Hoy aprenderemos c\u00f3mo crear pedidos en WooCommerce de manera program\u00e1tica. A veces, es necesario crear pedidos autom\u00e1ticamente en funci\u00f3n de ciertos eventos o acciones, como la importaci\u00f3n de datos o la sincronizaci\u00f3n con sistemas externos. En este tutorial, te mostraremos c\u00f3mo crear un pedido utilizando el API de WooCommerce y PHP. \u00a1Comencemos!<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"894\" src=\"http:\/\/racmanuel.dev\/wp-content\/uploads\/image-77-1024x894.png\" alt=\"\" class=\"wp-image-1929\" title=\"\" srcset=\"https:\/\/racmanuel.dev\/wp-content\/uploads\/image-77-1024x894.png 1024w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-77-600x524.png 600w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-77-300x262.png 300w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-77-768x670.png 768w, https:\/\/racmanuel.dev\/wp-content\/uploads\/image-77.png 1250w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Panel de administraci\u00f3n de Ordenes de WooCommerce.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"requisitos-previos\"><strong><span style=\"color: var(--theme-palette-color-8, #25ff00);\" class=\"stk-highlight\">Requisitos previos<\/span><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de comenzar, aseg\u00farate de tener lo siguiente:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Una instalaci\u00f3n de WordPress con WooCommerce activado.<\/li>\n\n\n\n<li>Conocimientos b\u00e1sicos de programaci\u00f3n en PHP y desarrollo de temas y plugins para WordPress.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"crear-un-pedido-en-woocommerce-de-manera-programatica\"><strong><span style=\"color: var(--theme-palette-color-8, #25ff00);\" class=\"stk-highlight\">Crear un pedido en WooCommerce de manera program\u00e1tica<\/span><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para crear un pedido en WooCommerce de manera program\u00e1tica, utilizaremos las clases y m\u00e9todos proporcionados por WooCommerce. Sigue estos pasos para crear un pedido:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Primero, crea una instancia de la clase <code>WC_Order<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">$order = new WC_Order();\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Establece los detalles del cliente y la direcci\u00f3n de facturaci\u00f3n y env\u00edo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">$order-&gt;set_customer_id( $customer_id );\n$order-&gt;set_billing_first_name( 'Juan' );\n$order-&gt;set_billing_last_name( 'P\u00e9rez' );\n$order-&gt;set_billing_email( 'juan.perez@example.com' );\n$order-&gt;set_billing_phone( '555-1234' );\n$order-&gt;set_billing_address_1( 'Calle Falsa 123' );\n$order-&gt;set_billing_city( 'Springfield' );\n$order-&gt;set_billing_postcode( '12345' );\n$order-&gt;set_billing_country( 'ES' );\n\n\/\/ Si la direcci\u00f3n de env\u00edo es diferente a la de facturaci\u00f3n, establece la direcci\u00f3n de env\u00edo aqu\u00ed\n$order-&gt;set_shipping_first_name( 'Juan' );\n$order-&gt;set_shipping_last_name( 'P\u00e9rez' );\n$order-&gt;set_shipping_address_1( 'Calle Falsa 123' );\n$order-&gt;set_shipping_city( 'Springfield' );\n$order-&gt;set_shipping_postcode( '12345' );\n$order-&gt;set_shipping_country( 'ES' );\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Agrega productos al pedido:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">$product_id = 1; \/\/ ID del producto que deseas agregar\n$product = wc_get_product( $product_id );\n$quantity = 2; \/\/ Cantidad del producto\n\n$order-&gt;add_product( $product, $quantity );\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Establece el m\u00e9todo de env\u00edo (opcional):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">$shipping_method = new WC_Order_Item_Shipping();\n$shipping_method-&gt;set_method_title( 'Env\u00edo est\u00e1ndar' );\n$shipping_method-&gt;set_method_id( 'flat_rate' );\n$shipping_method-&gt;set_total( 5.00 ); \/\/ Costo de env\u00edo\n$order-&gt;add_item( $shipping_method );\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Establece el m\u00e9todo de pago:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">$order-&gt;set_payment_method( 'cod' ); \/\/ Puedes utilizar 'bacs', 'cheque', 'cod' o el ID de cualquier otro m\u00e9todo de pago habilitado\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Calcula los totales y guarda el pedido:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"php\" class=\"language-php\">$order-&gt;calculate_totals();\n$order_id = $order-&gt;save();\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora, tienes un nuevo pedido creado de manera program\u00e1tica en WooCommerce.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"conclusion\"><strong><span style=\"color: var(--theme-palette-color-8, #25ff00);\" class=\"stk-highlight\">Conclusi\u00f3n<\/span><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En este tutorial, hemos aprendido c\u00f3mo crear pedidos en WooCommerce de manera program\u00e1tica utilizando el API de WooCommerce y PHP. Con este enfoque, puedes automatizar la creaci\u00f3n de pedidos en funci\u00f3n de eventos espec\u00edficos o integrar tu tienda en l\u00ednea con sistemas externos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Algunas ideas adicionales para expandir esta funcionalidad podr\u00edan incluir:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Crear pedidos program\u00e1ticamente a partir de archivos CSV importados.<\/li>\n\n\n\n<li>Integrar WooCommerce con sistemas de gesti\u00f3n de pedidos (OMS) externos para mantener la sincronizaci\u00f3n de los pedidos.<\/li>\n\n\n\n<li>Crear pedidos autom\u00e1ticamente en base a acciones de los usuarios en tu sitio web, como inscripciones a eventos o suscripciones a servicios.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Recuerda que puedes personalizar a\u00fan m\u00e1s este proceso agregando metadatos personalizados, aplicando descuentos o modificando las propiedades del pedido seg\u00fan tus necesidades. Siempre consulta la documentaci\u00f3n de WooCommerce y los ejemplos disponibles para adaptar la creaci\u00f3n de pedidos program\u00e1ticos a tus casos de uso espec\u00edficos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esperamos que este tutorial te haya sido \u00fatil y te haya dado una idea de c\u00f3mo trabajar con pedidos de WooCommerce de manera program\u00e1tica. Si tienes alguna pregunta o sugerencia, no dudes en dejar un comentario a continuaci\u00f3n. \u00a1Hasta la pr\u00f3xima!<\/p>\n\n\n<style><\/style><style><\/style>\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<h4 class=\"wp-block-heading has-large-font-size\" id=\"necesitas-ayuda-con-un-proyecto-web\">Do you need help with a web project?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Do you need help with a web project? Don&#039;t hesitate to contact me. I develop complete and customized solutions with WordPress and PHP, using modern tools and processes, HTML, CSS, SCSS, PHP, JavaScript, Bootstrap, and more. Ready? Send me a message and let&#039;s talk about your web project!<\/p>\n\n\n<div class=\"wp-block-groundhogg-forms\">\n\t<div class=\"gh-form-wrapper\"><form method=\"post\" class=\"gh-form gh-form-v2\" target=\"_parent\" enctype=\"multipart\/form-data\" name=\"Formulario de Contacto\" id=\"gh-form-24\" data-id=\"24\" action=\"\"><div class=\"gh-form-fields\"><div class=\"gh-form-column col-1-of-2\"><label for=\"first_name\">Name <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"text\" name=\"first_name\" id=\"first_name\" class=\"gh-input gh-first-name\" value=\"\" required><\/div><\/div><div class=\"gh-form-column col-1-of-2\"><label for=\"last_name\">Last name(s) <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"text\" name=\"last_name\" id=\"last_name\" class=\"gh-input gh-last-name\" value=\"\" required><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"email\">Email <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"email\" name=\"email\" id=\"email\" class=\"gh-input gh-email\" value=\"\" required><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"primary_phone\">Phone or WhatsApp <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><input type=\"tel\" name=\"primary_phone\" id=\"primary_phone\" class=\"gh-input\" value=\"\" required><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"nombre_de_tu_negocio_o_empresa\">Name of your Business or Company<\/label><div class=\"gh-form-input-field\"><input type=\"text\" name=\"nombre_de_tu_negocio_o_empresa\" id=\"nombre_de_tu_negocio_o_empresa\" class=\"gh-input\" value=\"\"\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"link_de_tu_pagina_web\">Link to your website<\/label><div class=\"gh-form-input-field\"><input type=\"url\" name=\"link_de_tu_pagina_web\" id=\"link_de_tu_pagina_web\" class=\"gh-input\" value=\"\" placeholder=\"If your business or company has a website, enter the link here.\"\/><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"question_type\">What kind of question do you have? <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><select name=\"question_type\" id=\"question_type\" class=\"gh-input\" required><option value=\"Cotizaci\u00f3n\">Price<\/option><option value=\"General\">General<\/option><option value=\"Soporte\">Medium<\/option><\/select><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><label for=\"message\">Ask <span class=\"required\">*<\/span><\/label><div class=\"gh-form-input-field\"><textarea name=\"message\" id=\"message\" class=\"gh-input\" rows=\"7\" placeholder=\"Your question or doubt...\" type=\"text\" required><\/textarea><\/div><\/div><div class=\"gh-form-column col-1-of-1\"><div class=\"consent gh-gdpr\" id=\"gdpr_consent\"><div ><label class=\"gh-checkbox-label\"><input type=\"checkbox\" name=\"data_processing_consent\" id=\"data-processing-consent\" class=\"\" value=\"yes\" required><span class=\"checkbox-label\">I agree to racmanuel.dev&#8217;s storage and processing of my personal data. <span class=\"required\">*<\/span><\/span><\/label><\/div><div ><label class=\"gh-checkbox-label\"><input type=\"checkbox\" name=\"marketing_consent\" id=\"marketing-consent\" class=\"\" value=\"yes\"\/><span class=\"checkbox-label\">I agree to receive marketing offers and updates from racmanuel.dev.<\/span><\/label><\/div><\/div><\/div><div class=\"gh-form-column col-1-of-3\"><button type=\"submit\" class=\"gh-submit gh-button primary\" value=\"\">Get in touch!<\/button><\/div><\/div><input type=\"hidden\" name=\"trp-form-language\" value=\"en\"\/><\/form><\/div><\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Hoy aprenderemos c\u00f3mo crear pedidos en WooCommerce de manera program\u00e1tica. A veces, es necesario crear pedidos autom\u00e1ticamente en funci\u00f3n de ciertos eventos o acciones, como la importaci\u00f3n de datos o la sincronizaci\u00f3n con sistemas externos. En este tutorial, te mostraremos c\u00f3mo crear un pedido utilizando el API de WooCommerce y PHP. \u00a1Comencemos!<\/p>","protected":false},"author":1,"featured_media":1926,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","_glsr_average":0,"_glsr_ranking":0,"_glsr_reviews":0,"footnotes":""},"categories":[48],"tags":[40],"niveles":[39],"class_list":["post-1922","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriales","tag-woocommerce","niveles-avanzado"],"blocksy_meta":[],"acf":[],"_links":{"self":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/1922","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/comments?post=1922"}],"version-history":[{"count":4,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/1922\/revisions"}],"predecessor-version":[{"id":1930,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/posts\/1922\/revisions\/1930"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/media\/1926"}],"wp:attachment":[{"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/media?parent=1922"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/categories?post=1922"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/tags?post=1922"},{"taxonomy":"niveles","embeddable":true,"href":"https:\/\/racmanuel.dev\/en\/wp-json\/wp\/v2\/niveles?post=1922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}