A veces, al desarrollar un sitio web de comercio electrónico, deberá verificar automáticamente el estado del pago y marcar el estado del pedido como "Terminado""Pendiente"o según su requisito. El estado de un pedido predeterminado se establece en función del pago realizado. Los usuarios front-end pueden verificar el estado de su pedido en la página Historial de la cuenta. En este blog aprenderemos cómo cambiar el estado del pedido predeterminado en Woo Commerce como "Factura a imprimir" paso a paso.
Paso 1: crea un complemento personalizado
Para crear un complemento personalizado en su sitio web, siga los siguientes pasos:
1. Navegue a la carpeta de complementos de Word Press, en nuestro caso es app / plugins. Crear una carpeta como "estado personalizado“.
Nota IMPORTANTE: Déle a su carpeta un nombre único (el nombre de plugins predeterminado de Word Press no debe entrar en conflicto con el nombre de su plugin) usando letras minúsculas y guiones.
2. Ahora cree el archivo PHP principal de su complemento. Para hacerlo, cree un archivo PHP dentro de su carpeta de complementos y asígnele el mismo nombre que el nombre de la carpeta. En nuestro caso, el nombre de la carpeta es "customstatus", por lo que el nombre del archivo será customstatus.php.
3. Configura la información de tu complemento. Simplemente copie y pegue el siguiente código en el archivo customstatus.php.
/ **
?* Plugin Name: My First Plugin
?* Plugin URI: https://www.mywebsite.com/my-first-plugin
?* Description: The very first plugin that I have ever created.
?* Version: 1.0
?* Author: Your Name
?* Author URI: https://www.mywebsite.com
?*/
Nota: Edite los detalles como Nombre del autor, Nombre del complemento, Descripción, etc. según sus requisitos.
4. ¡Eso es! Acaba de completar la cantidad mínima de pasos necesarios para crear un complemento de Word Press. Ahora puede activarlo desde la pestaña Complementos en el administrador de Word Press.
Paso 2: agregue código en su complemento personalizado
1. Ahora tenemos que crear una función y vincularla a una Acción específica. Simplemente copie la siguiente función en su customstatus.php.
2. Como deseamos actualizar el estado del pedido al completar el pago, agregue una acción al enlace 'woocommerce_payment_complete' como se indica a continuación en el código resaltado. // COPIA TODO EL CÓDIGO EN ARCHIVO customstatus.php.
# <editor-fold defaultstate = "collapsed" desc = "Estado predeterminado como factura a imprimir"> function action_woocommerce_payment_complete ($ order_id) {if (! $ order_id) return; $ order = wc_get_order ($ order_id); $ order-> update_status ('wc-print-invoice'); // El estado del pedido se actualizará a "Factura a imprimir". }; // agrega la acción add_action ('woocommerce_payment_complete', 'action_woocommerce_payment_complete', 10, 3); # </editor-fold>
3. Simplemente guarde su archivo customstatus.php y listo. A partir de ahora, el estado del pedido se actualizará a "Factura a imprimir" cuando se complete el pago.
NOTA ÚTIL: Si desea actualizar el estado del pedido cuando se carga la página "Gracias" o "Pago correcto", puede agregar la acción en el gancho "woocommerce_thankyou". En customstatus.php reemplaza add_action ('woocommerce_payment_complete', 'action_woocommerce_payment_complete', 10, 3); con add_action ('woocommerce_thankyou', 'ggb_custom_change_order_status', 10,3);