首页 > 解决方案 > Wordpress如何在帖子保存后更新自定义帖子类型中的ACF字段

问题描述

我正在尝试在custom post type创建该帖子后立即设置字段的值。这是我的代码:

add_action('acf/save_post', 'set_coach_email');
function set_coach_email( $post_id ){
    $posttype = get_post_type($post_id);
    if ('team' !== $posttype){
        return;
    }
    $email = 'test@test.com';
    update_field('coach_email', $email, $post_id);
}

我曾经ACF fields创建过这个自定义帖子类型,但我似乎无法让它工作。

标签: wordpresswordpress-themingadvanced-custom-fieldscustom-post-typecustom-wordpress-pages

解决方案


我会检查相反的条件检查。另外我会首先检查该字段是否为空,然后我只会在该字段为空时运行更新。

add_action('acf/save_post', 'set_coach_email');

function set_coach_email($post_id)
{
  $posttype = get_post_type($post_id);

  $email_field = get_field('coach_email', $post_id);

  if ('team' == $posttype && empty($email_field)) {

    $email = 'coachtest@test.com';

    update_field('coach_email', $email, $post_id);

  }
}

刚刚在我自己的自定义帖子类型上进行了测试,效果很好。让我知道你是否也可以让它工作!


推荐阅读