ACF 値の登録や保存

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

Advanced Custom Fields の値を何かに登録したり、取得した値をフィールドに登録して利用したりしますが、よく使う関数はadd_action(‘acf/save_post’、add_filter(‘acf/update_value/name=xxxx’
ACF 値などの登録まとめ」参照。

他には、リピーターで登録した日程を配列で参照するために連結してテキストフィールドに保存したり、抜粋や更新情報に利用するためにテキストエリアに保存したり、フォームで送信された内容でフィールドをアップデートしたりします。

function update_restapi( $post_id ) {
    if(get_post_type( $post_id ) == 'post' && have_rows('list')) { 
		$rows = get_field('list'); if ($rows['0']['txt']) { $firsttxt = $rows['0']['txt']; } else { $firsttxt = "no data"; }
		 if ($rows['0']['image']) { $first_image_id = $rows['0']['image']; $first_image_url = wp_get_attachment_image_url($first_image_id,'full'); } else { $first_image_url = "~xxxx.jpg"; }
		if ($rows['1']['txt']) { $secondtxt = $rows['1']['txt']; } else { $secondtxt = "no data"; }
		 if ($rows['1']['image']) { $second_image_id = $rows['1']['image']; $second_image_url = wp_get_attachment_image_url($second_image_id,'full'); } else { $second_image_url = "~xxxx.jpg"; }
 	$update = '<div>' . $firsttxt . '<img src="' . $first_image_url . '"></div><div>' . $secondtxt . '<img src="' . $second_image_url . '"></div>';	
    update_field('updatetxt', $update);
 }
 else { update_field('updatetxt', 'no data'); }  }
  add_action('acf/save_post', 'update_restapi', 20);

更新情報に利用するためにリピーターの一部をテキストエリアに保存。

function my_acf_update_value( $value, $post_id, $field ) {
    if(have_rows('holidays')) { while (have_rows('holidays')) : the_row();
        $date[] = get_sub_field('date');
    endwhile; } 
    $value = implode(',', $date);
    return $value;
}
add_filter('acf/update_value/name=holiday-data', 'my_acf_update_value', 10, 3);

営業日カレンダーで参照するためにリピーターで登録した日付をテキストフィールドに保存。

その他のAdvanced Custom Fields に関する記事一覧

Advanced Custom Fields に関する記事一覧ページへ