web-dev-qa-db-ja.com

保存する前に高度なカスタムフィールドの値を取得する

基本的に、データベースに書き込まれる前に、ユーザーが入力した情報を高度なカスタムフィールドのテキストボックスに変更する必要がありますが、その取得方法がわかりません。 get_field()を使用してデータベースのメタ部分に書き込まれた後にのみ取得できます。

1
tyler

編集 - この答えはACFの現在のバージョンではもはや正確ではありません。 彼らのドキュメントを参照してください

acf_save_postフックを使用してください。

function my_acf_save_post( $post_id )
{
    // vars
    $fields = false;

    // load from post
    if( isset($_POST['fields']) )
    {
        $fields = $_POST['fields'];
    }

    // ...
}

// run before ACF saves the $_POST['fields'] data
add_action('acf_save_post', 'my_acf_save_post', 1);

// run after ACF saves the $_POST['fields'] data
add_action('acf_save_post', 'my_acf_save_post', 20);
1
Milo