You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WooCommerce中实现订单标记为完成时自动触发发票生成按钮的点击操作

自动触发订单完成时的发票生成操作

Hey David, 我来帮你搞定这个自动生成发票的需求!下面分几种靠谱的方案,你可以根据自己的技术能力和插件情况选择:

方案1:直接调用插件的后端函数(推荐)

模拟前端点击按钮其实不如直接调用插件生成发票的核心函数稳定,毕竟前端脚本可能会因为页面结构变化失效。你可以这么做:

  • 先打开自定义发票插件的代码,找到“生成发票”按钮对应的后端逻辑:比如找插件里处理发票生成的PHP函数(通常会有类似generate_invoice_for_order($order_id)这样的命名),或者找按钮触发的AJAX动作(比如wp_ajax_generate_invoice)。
  • 然后用订单状态变更的钩子,在订单标记为完成时自动调用这个函数。以WooCommerce为例,添加下面的代码到你的主题functions.php或者自定义功能插件里:
// 当订单状态变为“已完成”时触发发票生成
add_action('woocommerce_order_status_completed', 'auto_generate_invoice_on_order_completion', 10, 1);
function auto_generate_invoice_on_order_completion($order_id) {
    // 先检查插件的生成函数是否存在,避免报错
    if (function_exists('generate_invoice_for_order')) {
        // 调用插件的发票生成函数
        generate_invoice_for_order($order_id);
        
        // 如果插件还有单独的邮件发送函数,也一起调用
        if (function_exists('send_invoice_to_customer')) {
            send_invoice_to_customer($order_id);
        }
    }
}

方案2:前端脚本模拟按钮点击

如果找不到插件的后端函数,只能用前端模拟点击的话,可以试试这个方法:

  • 编写一段JavaScript,监听订单状态的变化,当状态变为“已完成”时自动点击“生成发票”按钮:
jQuery(document).ready(function($) {
    // 监听订单状态下拉框的变化(假设选择器是#order_status,根据实际页面调整)
    $('#order_status').on('change', function() {
        const selectedStatus = $(this).val();
        // 检查是否切换到“已完成”状态
        if (selectedStatus === 'completed') {
            // 找到“生成发票”按钮的选择器(比如.btn-generate-invoice,需要你自己检查页面元素确认)
            const generateBtn = $('.btn-generate-invoice');
            if (generateBtn.length) {
                generateBtn.trigger('click');
            }
        }
    });
});
  • 把这段脚本添加到订单编辑/预览页面:可以用admin_enqueue_scripts钩子,只在订单页面加载这个脚本,避免影响其他页面。

方案3:检查插件自带设置(最省心)

先别急着写代码!很多发票插件本身就有“订单完成时自动生成并发送发票”的开关,你可以先去插件的设置页面找找看,比如“自动化”或者“发票发送”相关的选项,说不定勾选一下就能解决问题。

注意事项

  • 修改代码前一定要备份网站和数据库,避免出问题!
  • 如果是第三方插件,最好先联系开发者确认官方支持的钩子或方法,这样插件更新后你的代码也不会失效。
  • 测试的时候记得创建一个测试订单,手动标记为完成,验证是否自动生成并发送了发票。

内容的提问来源于stack exchange,提问作者DavidIsenoi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 04:58:11