前提・実現したいこと
ここに質問の内容を詳しく書いてください。
wordpressのAdvanced Custom Fieldsプラグイン(以降ACF)を使い承認機能を実装しようとしています。 投稿のステータスがレビュー(pending)から公開(publish)に遷移した場合、現在のユーザーのIDをカスタムフィールド「承認者」に登録(更新)する仕組みです。 前提: カスタムフィールド「承認者」はサブフィールドです。 承認グループ(field_987654321fedc) ┗承認者(field_123456798abncd)
発生している問題・エラーメッセージ
ACF専用関数のupdate_field( $field_key, $value, $post_id )を使用していますが、レビュー状態から公開をしても、カスタムフィールド「承認者」の内容が更新されません。
該当のソースコード
PHP
1function approval_registration($post){ 2 $user = wp_get_current_user();//現在ログインしているユーザー情報 3 $field_key = "field_123456789abcd"; 4 $value=$user->ID; 5 $post_id=$post->ID; 6 update_field( $field_key, $value, $post_id ); 7} 8add_action( 'pending_to_publish', 'approval_registration', 10, 1 );
試したこと
サブフィールドの指定ができないのかもしれないと思い、通常のフィールドをテスト用に作成
し試みましたが更新されませんでした。
add_action( 'save_post', 'approval_registration', 10, 1 );
で実行すると更新されました。
補足情報(FW/ツールのバージョンなど)
Wordpress 5.2.2
Advanced Custom Fields 5.8.2
回答1件
あなたの回答
tips
プレビュー