首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

获取自定义计算作为WooCommerce管理员批量订单操作

在 WooCommerce 中添加自定义批量订单操作可以让你更高效地管理订单,特别是当你需要对多个订单执行特定的自定义操作时。例如,你可能想要为选定的订单批量添加一个特定的计算或更新订单状态。以下是如何在 WooCommerce 中添加自定义批量订单操作的步骤:

步骤 1: 添加自定义批量操作到订单列表

首先,你需要通过 WordPress 的 bulk_actions-edit-shop_order 钩子(hook)添加一个新的批量操作选项。以下是如何添加这个操作的示例代码,你可以将此代码添加到你的主题的 functions.php 文件中或在一个自定义插件中使用:

代码语言:javascript
复制
function add_custom_bulk_action($bulk_actions) {
    $bulk_actions['custom_calculation'] = '执行自定义计算';  // 'custom_calculation' 是内部使用的 ID,'执行自定义计算' 是在下拉菜单中显示的文本
    return $bulk_actions;
}
add_filter('bulk_actions-edit-shop_order', 'add_custom_bulk_action');

步骤 2: 处理自定义批量操作

添加操作后,你需要处理这个操作。当管理员选择这个操作并提交后,你需要捕捉这个请求并执行相应的逻辑。这可以通过 handle_bulk_actions-edit-shop_order 钩子来实现:

代码语言:javascript
复制
function handle_custom_bulk_action($redirect_to, $action, $post_ids) {
    if ($action === 'custom_calculation') {
        foreach ($post_ids as $post_id) {
            // 对每个订单执行操作
            // 例如,更新订单元数据或执行计算
            update_post_meta($post_id, '_custom_meta_key', '新值');
        }

        // 重定向 URL,添加自定义参数
        $redirect_to = add_query_arg('custom_calc_done', count($post_ids), $redirect_to);
    }
    return $redirect_to;
}
add_filter('handle_bulk_actions-edit-shop_order', 'handle_custom_bulk_action', 10, 3);

步骤 3: 显示操作执行后的通知

操作完成后,你可能想要显示一个通知,告诉用户操作已成功执行。你可以通过检查 URL 参数来添加这个通知:

代码语言:javascript
复制
function custom_bulk_action_admin_notice() {
    if (!empty($_REQUEST['custom_calc_done'])) {
        $count = intval($_REQUEST['custom_calc_done']);
        echo '<div id="message" class="updated fade"><p>' . 
             sprintf('自定义计算已成功执行 %d 个订单。', $count) . '</p></div>';
    }
}
add_action('admin_notices', 'custom_bulk_action_admin_notice');

完成

通过以上步骤,你已经成功添加了一个自定义的批量操作到 WooCommerce 订单列表。这个操作可以让你对选定的多个订单执行自定义计算或更新。

确保在实际部署这些代码之前在开发环境中进行充分测试,以确保它们按预期工作,并且不会对现有数据造成意外的影响。此外,根据你的具体需求调整和扩展这些基本示例。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

woocommerce订单添加自定义信息展示

前言 woocommerce订单详情页展示的信息有限。改造一下代码,以展示更多的信息。...代码 订单详情页 添加本地订单号和平台订单号 // 路径:wp-content/themes/razzi/functions.php // 在管理员后台订单详细页面也显示一下 add_action( '...init', 'twentytwentyfour_pattern_categories' ); // 在管理员后台订单详细页面也显示一下 add_action( 'woocommerce_admin_order_data_after_order_details...> 修改副标题信息,所有支付方式都类似PayPal方式展示 //wp-content/plugins/woocommerce/includes/admin/meta-boxes/class-wc-meta-box-order-data.php...// 添加2列自定义标题 ,放在订单列的后面 add_filter( 'manage_edit-shop_order_columns', 'custom_shop_order_column', 20

28810

WooCommerce 1.6.8 跨站脚本的 WordPress 预览电子邮件

描述:反射跨站脚本 受影响的插件:WooCommerce 的预览电子邮件 插件 Slug:woo-preview-emails 受影响的版本:<= 1.6.8 CVE ID:CVE-2021-42363...WooCommerce 的预览电子邮件是一个简单的插件,旨在让网站所有者能够预览通过 WooCommerce 发送给客户的电子邮件。...不幸的是,该插件存在一个缺陷,使攻击者有可能将恶意 Web 脚本注入“digthis-woocommerce-preview-emails”页面。...作为插件功能的一部分,有一项功能可以搜索订单并根据特定订单生成电子邮件预览,以便管理员或商店经理可以准确查看特定用户看到的发送电子邮件的内容。...这意味着,如果攻击者能够成功说服站点管理员单击链接,他们就可以让恶意 JavaScript 在该管理员的浏览器中执行。

1.3K10
  • woocommerce开发支付网关插件,对接支付通道

    内容为URL $this->has_fields = true; // 你需要自定义支付网关字段就填true $this->method_title = 'kekc_cn Gateway';...我们有的支付网关,可以先验证用户信息,比如你银行卡支付需要接收短信验证码之类的,来确认是用户本人操作,那就需要此步骤,反之,如微信支付、支付宝支付、易支付、PayPal等等,支付都在第三方处理,不在我们服务器..., 'error' ); return false; } return true; } 变更订单状态 使用API获取付款并设置订单状态 public function process_payment...( $order_id ) { global $woocommerce; // 根据订单id获取订单明细 $order = wc_get_order( $order_id );...$order->add_order_note( '您的订单已经支付了! 谢谢你!'

    24010

    WordPress插件WooCommerce任意文件删除漏洞分析

    其中一个典型例子就是WooCommerce,该插件是目前最热门的一款电子商务插件,并且拥有400万+的安装量。简而言之,这个漏洞将允许商铺管理员删除目标服务器上的特定文件,并接管管理员帐号。 ?...商铺管理员,能够管理订单、产品和客户,这种访问权限可以通过XSS漏洞或网络钓鱼攻击来获得。当漏洞成功利用之后,商铺管理员将能够接管任何一个管理员帐号,然后在服务器上执行代码。...默认配置下,edit_users功能允许有权限的用户(例如商铺管理员)来编辑其他用户,甚至是管理员用户,然后执行类似密码更新这样的操作。...,并根据结果来决定是否允许用户操作。...但是这个漏洞允许商铺管理员删除服务器上的任意可写文件,所以我们我们额可以通过删除WooCommerce的主文件-woocommerce.php来禁止WordPress加载该插件。

    1.6K30

    Serverless 时代,这才是Web应用开发正确的打开方式 | Q推荐

    孙华认为,Amazon Lambda 作为无服务器计算服务,主要有以下四个特点。 无需部署管理基础设施:无服务器计算并不代表真的没有服务器,而是不需要管理部署服务器。...很多用户需要 Web 应用有相应的自定义域名访问网站。...亚马逊云科技用 WooCommerce 进行了尝试。WooCommerce 是一个电商的场景,为什么要尝试将 WooCommerce 运行在 Amazon Lambda 上呢?...如果运行的是 WooCommerce 电商网站,用户浏览商品、将商品加入购物车、提交订单、支付,是动态请求,需要回到后端的 PHP 应用上。...成本方面,每处理一笔订单需要调用 10 次 API,也就是处理 100 万笔订单需要调用 1000 万次 Lambda 函数。据统计,1000 万次 Lambda 函数调用的费用也仅为 300 美元。

    3.6K20

    Lighthouse: WooCommerce

    管理后台的入口同样在应用管理中,可以看到管理员登录的地址(即为管理后台的地址),登录管理后台时,需要输入密码,我们可在管理员密码处复制命令并登录实例,主动输入命令后,获取管理员密码。...图片图片翻译升级成功后,重新进入独立站管理后台,就能看到 WooCommerce 这里也变成中文了。不过别忘了检查下站点语言,有可能因为操作顺序的缘故,导致升级翻译后,访客看到的页面也会变成中文。...图片事实上, WooCommerce 在这里提供了比较详细的指引,只需跟随它一步步操作就能完成了。...,在探索阶段,可以利用这两个主题提供的免费模板快速搭建精致的独立站样式,在熟悉了 WooCommerce操作后,可以选择购买并定制专属于自己独立站的主题或模板。...如果购买的主题是压缩包格式(比如 zip ),可以在管理后台上传主题压缩包:图片图片安装完成后可以在主题页面中看到,点击启用即可完成初始化:图片启用后,可以在管理后台的【外观/自定义】中对主题进行 DIY

    9.5K1710

    Lighthouse的跨境电商独立站秘籍!

    管理后台的入口同样在应用管理中,可以看到管理员登录的地址(即为管理后台的地址),登录管理后台时,需要输入密码,我们可在管理员密码处复制命令并登录实例,主动输入命令后,获取管理员密码。...翻译升级成功后,重新进入独立站管理后台,就能看到WooCommerce这里也变成中文了。不过别忘了检查下站点语言,有可能因为操作顺序的缘故,导致升级翻译后,访客看到的页面也会变成中文。...事实上,WooCommerce在这里提供了比较详细的指引,只需跟随它一步步操作就能完成了。 设置付款方式 需要注意的是,在设置付款方式前,需要先设置下WordPress地址和站点地址,后文有详细说明。...,在探索阶段,可以利用这两个主题提供的免费模板快速搭建精致的独立站样式,在熟悉了WooCommerce操作后,可以选择购买并定制专属于自己独立站的主题或模板。...如果购买的主题是压缩包格式(比如zip),可以在管理后台上传主题压缩包: 安装完成后可以在主题页面中看到,点击启用即可完成初始化: 启用后,可以在管理后台的【外观】-【自定义】中对主题进行DIY:

    14.5K10

    塔秘 | 网站访问速度不够快?快收藏SQL 查询优化技巧

    我们使用WooCommerce和定制版的WooCommerce软件插件来运行我们的插件商店。此查询的目的是获取那些我们知道客户号的客户的所有订阅。...WooCommerce是一个稍微复杂的数据模型,即使订单自定义的类型存储,用户的ID(商店为每一个用户创建的WordPress)也没有存储在post_author,而是作为后期数据的一部分。...这是为了通过保持数据的完整性来保证我们只使用正确的订单记录,但是事实上这在查询中是多余的。...基本上,首次请求时从数据库中获取查询结果,并将其存储在类的静态属性中,然后后续的查询语句调用将从静态属性中返回结果: ? 缓存有一个生命周期,具体地说是实例化对象有一个生命周期。...如果您发现查询的帖子类型较慢,那么可以考虑从自定义帖子类型的存储模型移动到自定义表格中 - 更多内容将在后面的文章中介绍。

    4.8K50

    提升网站访问速度的 SQL 查询优化技巧

    我会把门户网站 deliciousbrains.com 出现的拖慢查询速度的情况作为实际的案例。 定位 处理慢SQL查询的第一步是找到慢查询。...我们使用WooCommerce和定制版的WooCommerce软件插件来运行我们的插件商店。此查询的目的是获取那些我们知道客户号的客户的所有订阅。...WooCommerce是一个稍微复杂的数据模型,即使订单自定义的类型存储,用户的ID(商店为每一个用户创建的WordPress)也没有存储在post_author,而是作为后期数据的一部分。...这是为了通过保持数据的完整性来保证我们只使用正确的订单记录,但是事实上这在查询中是多余的。...如果您发现查询的帖子类型较慢,那么可以考虑从自定义帖子类型的存储模型移动到自定义表格中 – 更多内容将在后面的文章中介绍。

    6K100

    3 个 WordPress 插件中的高危漏洞影响了 84,000 个网站

    WordPress 安全公司 Wordfence在上周发布的一份报告中说: “这个漏洞使攻击者可以在易受攻击的网站上更新任意网站选项,只要他们可以诱骗网站管理员执行操作,例如点击链接。”...请求时缺乏验证,从而有效地使攻击者能够将站点上的“users_can_register”(即任何人都可以注册)选项更新为 true 并设置“default_role”设置(即,在博客上注册的用户的默认角色)管理员...Woocommerce 2.5.2 版中得到解决。...一个多月后,攻击者利用四个插件和 15 个 Epsilon 框架主题中的弱点来针对 160 万个 WordPress 站点,作为源自 16,000 个 IP 地址的大规模攻击活动的一部分。...“尽管此跨站点请求伪造 (CSRF) 漏洞由于需要管理员交互而不太可能被利用,但它可能对成功利用的站点产生重大影响,因此,它是一个非常重要的提醒您在单击链接或附件时保持警惕,并确保您定期更新插件和主题,

    1K30

    woocommerce shortcode短代码调用

    – 显示订单跟踪表单 在大多数情况下,这些短代码将通过我们的入门向导自动添加到页面中,无需手动使用。...rand– 在页面加载时随机订购产品(可能不适用于使用缓存的网站,因为它可以保存特定订单)。 rating– 平均产品评级。 title– 产品标题。这是默认模式。...order– 使用中设置的方法说明产品订单是升序 () 还是降序 ()。默认值为 。...您还可以使用以下代码按自定义元字段对产品进行排序(在本例中,我们按价格对产品进行排序): add_filter( 'woocommerce_shortcode_products_query', 'woocommerce_shortcode_products_orderby...当您使用其他短代码(如 )并希望用户获得有关其操作的一些反馈时非常有用。

    11.1K20

    The7 v.11.11.3 — WordPress 网站和电子商务构建器

    并且无需编写任何代码即可完成此操作。 功能 速度很快! 多用途 WordPress 主题本质上很慢。这是有道理的,因为您拥有的功能越多(通常未使用),您的网站就会变得越慢。...然而,在构建标题或自定义 WooCommerce 页面时,它却表现不佳。...我们用新的小部件和功能扩展了 Elementor,让您可以构建现代动态标题、交互式大型菜单、英雄部分、滑块、自定义您的 WooCommerce 和存档页面等等!...此外,我们的帖子类型与高级自定义字段 (ACF) 插件完全兼容。因此,可能性确实是无限的。并且无需编码! 扩展 WooCommerce 集成 WooCommerce 是全球最受欢迎的电子商务软件。...更新内容 v.11.11.3(2024 年 3 月 20 日) 改进: 改进了“订单”页面的响应式布局,以提高在各种设备上的可用性。 错误修复: 1. 调整了文本小部件中标题的颜色。

    14910

    划重点!必备 SQL 查询优化技巧,提升网站访问速度

    我会把门户网站 deliciousbrains.com 出现的拖慢查询速度的情况作为实际的案例。 定位 处理慢SQL查询的第一步是找到慢查询。...我们使用WooCommerce和定制版的WooCommerce软件插件来运行我们的插件商店。此查询的目的是获取那些我们知道客户号的客户的所有订阅。...WooCommerce是一个稍微复杂的数据模型,即使订单自定义的类型存储,用户的ID(商店为每一个用户创建的WordPress)也没有存储在post_author,而是作为后期数据的一部分。...这是为了通过保持数据的完整性来保证我们只使用正确的订单记录,但是事实上这在查询中是多余的。...如果您发现查询的帖子类型较慢,那么可以考虑从自定义帖子类型的存储模型移动到自定义表格中 - 更多内容将在后面的文章中介绍。

    4.8K80

    小程序接入视频号 自定义交易组件的接入

    事件回调接口:用以接收商品审核,类目审核,品牌审核结果同步等注意:所有接口都需要接入及联调,避免影响正常经营注意:如果通过接口调用,需要小程序管理员在微信上操作法务协议签署信息后,才可以进行接口调用2:...(4)调用同步订单支付结果接口同步订单的支付结果注意:这里两个接口都需要调用,以同步订单结果为最后确认步骤,视频号场景则以支付成功作为最终确认步骤。...1)用户在商家小程序发起视频号场景订单的售后,需要调用生成售后单接口生成一笔售后,并且调用售后相关接口操作售后状态;2)用户在视频号订单发起的售后,需要通过回调收到售后情况,并调用售后相关接口操作售后状态...需要提现时,调用发起提现5、查询提现记录时,调用获取提现记录详情6、修改商户号结算提现商户号时,调用修改结算账户7、查询当前商户号结算商户号时,调用查询结算账户8、批量获取提现记录时,调用获取提现记录列表...(5)在订单支付成功回调中获得订单的支付结果注意:以支付成功作为最终确认步骤。

    4K21

    WPJAM Basic 5.9 详细更新说明

    然后前段时间,微信又限制了,订阅号彻底获取不到头像和昵称了,服务号也要绕一大圈才能获取,我不想看到有人提问,都是没有头像和昵称的,然后也不想通过复杂的网页授权方式获取头像和昵称,所以正好借此机会关闭讨论组了...兼容 WooCommerce 之前后台文章列表开启「支持全面的 AJAX操作」,会让 WooCommerce订单和优惠券页面出现一些问题,最近接了一些 WooCommerce 的项目,仔细研究和处理了一下...所以就把很多操作都移到了 WordPress 后台文章列表页面,WPJAM Basic 有一块子菜单是关于文章列表的: 所以我继续优化后台文章列表页面的操作交互,比如在把鼠标移到缩略图上面,会在右上角显示一个编辑图标...WPJAM_Page_Action 的提交按钮支持多个按钮, 比如我最新的小程序插件的「路径和二维码」的弹窗: 这样,我就把原来的「生成二维码」和「提交到微信搜索」的按钮合二为一,文章列表页面更加简洁,我只需要保留批量操作里面的...优化「文章目录」扩展,首先使用子标题的 ID 来作为锚点,如子标题没有 ID,则自动添加 ID,应该会兼容更多情况,然后支持独立设置,开启之后,可以在文章列表页设置: 「简单 SEO」 扩展支持「确保唯一设置

    7.2K30

    WordPress多语言WPMLv4.6.3插件 自动翻译多国语言

    自动翻译功能不是这个插件的一部分,但你可以直接从开发者那里购买作为单独的付费服务。 WPML允许作者使用不同的语言编写内容并进行翻译。它还包括高级功能,用于翻译管理和专业内容翻译的接口。...网站管理员可以安装它并将其转换为多语言网站,而无需编码。WPML包括完整的API,用于与其他插件和翻译系统集成。这样,开发人员就可以轻松地使用WPML并将其产品转换为多语言。...它是完整的 使用WPML,你可以翻译页面、文章、自定义类型、分类、菜单甚至主题文本。 它兼容性强 每个使用WordPress API的主题或插件都可以与WPML一起运行多语言。...翻译管理插件帮助网站管理员管理他们的翻译工作。他们将普通用户转化为翻译人员,向他们发送任务并跟踪网站翻译状态的进度。 WPML粘性链接 这个粘性链接插件可以防止内部链接永久性地断裂。...WooCommerce多语言 此插件允许使用WooCommerce和WPML构建多语言电子商务网站。 Gravity Forms多语言 此插件允许翻译Gravity表单。

    2.4K10
    领券