个性化阅读
专注于IT技术分析

WordPress-发送有关元数据更改的电子邮件

我想同谋以下。当某个帖子字段值更改时, 我想在帖子发布/更新时自动发送电子邮件。

  • 在帖子中
  • 一个具有4个选项的ACF字段, 例如[[草稿], “为组1就绪”, “为组2就绪”, “就绪”]
  • 如果此字段在更新后更改, 请将电子邮件发送到”此”电子邮件地址。

我想我需要知道2件事。 -在发布/更新后, 我需要在何处以及何处(执行什么操作)插入自定义代码-如何将新的发布数据与旧状态进行比较(上述操作中可能/可用)


#1


你可以为此目的挂在acf / save_post上。在此处阅读文档:https://www.advancedcustomfields.com/resources/acf-save_post/

由于你希望在存储值之前触发回调, 为了将旧值与新值进行比较, 请记住将优先级添加为小于10。假设具有4个选项的字段具有字段键field_4afd4af14415f:

function on_acf_post_save($post_id) {
  $post_type = get_post_type($post_id);
  if ($post_type === 'your-post-type') {
    $old_val = get_field('field_4afd4af14415f', $post_id);
    $new_val = $_POST['acf']['field_4afd4af14415f'];
    if ($old_val != $new_val) {
      // Send desired mail in here:
      // wp_mail(...);
    }
  }
}
add_action('acf/save_post', 'on_acf_post_save', 5, 1); // priority = 5

如果你的ACF字段不在顶层, 而是在组或中继器中, 则必须调整从$ _POST [‘acf’]和get_field()结果中读取的代码。

赞(0)
未经允许不得转载:srcmini » WordPress-发送有关元数据更改的电子邮件

评论 抢沙发

评论前必须登录!