Tengo un formulario personalizado que llama a una función en function.php cuando se envía. Eventualmente verificará la entrada de los campos y hará algo o enviará un mensaje de error usando el woocommerce wc_add_notice()
material estándar.
El problema es que solo parece agregar el aviso a la sesión cuando los artículos se han agregado al carrito en algún momento. Si abro una pestaña de incógnito y pruebo el formulario, no recibiré ningún mensaje. Para que quede claro que estoy usando wc_print_notices()
en mi plantilla.
Imprimí la sesión de woocommerce solo para confirmar y sí, no está allí cuando no se ha agregado nada al carrito. He eliminado la función de inmediato, por lo que debería enviar un mensaje de error cuando hace clic en enviar, independientemente de si se completó o no, solo para verificar. Aquí está la función en cuestión:
add_action('wp_ajax_add_transfer', 'process_add_transfer');
add_action('wp_ajax_nopriv_add_transfer', 'process_add_transfer');
function process_add_transfer() {
global $woocommerce;
wc_add_notice( 'This is my custom error', 'error' );
wp_redirect( get_permalink(125) ); //this is the same page form is on
}
He buscado y buscado y no he encontrado lo que estoy haciendo incorrectamente o por qué esto no funciona, se agradece cualquier ayuda.
saludos chris