我有一个自定义表单,在提交时会在function.php中调用一个函数.它将最终检查字段输入,并使用woocommerce wc_add_notice()(标准的东西)执行某些操作或发送错误消息.
问题是,似乎只有在某些时候将商品添加到购物车时,才会在会话中添加通知.如果我在隐身标签页中打开并尝试填写表格,则不会收到任何消息.为了清楚起见,我在模板中使用wc_print_notices().
我已打印出woocommerce会话,只是为了确认并在没有添加任何东西时将其不在其中.我已经剥离了该函数,因此无论您是否填写,只要单击一下,单击提交时,它都应该发送一条错误消息.这是有问题的功能:
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
}
我进行了搜索,没有发现我在做错什么,或者为什么它不起作用,感谢任何帮助.
克里斯干杯
解决方法:
您只是在此处添加错误通知.它将在会话中保存这些错误.现在,为了显示这些错误通知,您必须使用正在工作的页面上的以下功能或发送Ajax请求:
wc_print_notices();