首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Woocommerce中完成产品批量保存后的可用钩子

在Woocommerce中完成产品批量保存后的可用钩子
EN

Stack Overflow用户
提问于 2018-11-18 19:21:57
回答 1查看 606关注 0票数 2

我已经定制了批量编辑功能

代码语言:javascript
复制
add_action('woocommerce_product_bulk_edit_start', function () {
    // ...
}, 10, 0);

add_action('woocommerce_product_bulk_edit_save', function ($product) {
    // ...
}, 10, 1);

我想做一些进一步的加工后,所有的产品已经保存。有我可以绑的钩子吗?

任何指示都欢迎。

Clarification:我确实需要访问批量编辑请求中发送的所有信息(批量编辑字段值、产品ids等)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-18 21:28:30

您可以使用Wordpress admin_init动作钩子,如本例所示,在保存产品后显示自定义消息:

代码语言:javascript
复制
add_action( 'admin_init', 'after_bulk_edit_products_save' );
function after_bulk_edit_products_save() {
    global $pagenow;

    if( $pagenow === 'edit.php' && isset($_GET['post_type']) && $_GET['post_type'] === 'product'
    && isset($_GET['paged']) && ( isset($_GET['updated']) || isset($_GET['skipped']) || isset($_GET['locked']) ) ) {
        add_action( 'admin_notices', 'custom_bulk_action_admin_notice' );
    }
}

function custom_bulk_action_admin_notice() {
    echo '<div id="message" class="updated"><p>This is a custom message displayed after save</p></div>';
}

代码在您的活动子主题(活动主题)的function.php文件中。测试和工作。

$_GET 您可以从访问以下变量(始终使用isset()来避免错误):

  • $_GET['post_type'] - post类型是“产品”
  • $_GET['paged'] -默认值最多为"1“
  • $_GET['updated'] -产品“更新”的数量
  • $_GET['skipped'] -“跳过”产品的数量
  • $_GET['locked'] -“锁定”产品的数量

注意:

您可以访问$_REQUEST全局中为批量编辑(和快速编辑)提交的所有数据。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53364602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档