実装
左サイドバー > 外観 > テーマエディター をクリック後
右サイドバー > テーマファイル > テーマのための関数 (functions.php) をクリック
ファイルの末尾に以下の内容を追記して保存する
/**
* カスタムフィールドのデフォルト値を設定する
*/
function acf_my_custom_field_name_callback($field)
{
$field['default_value'] = "★デフォルト値をここに入力★"
return $field;
}
my_custom_field_name
の部分にはご自身で作ったカスタムフィールド名を入れてください。
close_date
ならば、
add_filter('acf/load_field/name=close_date', acf_close_date_callback);
みたいな感じで。
関数名も同じく変更してください。
function acf_close_date_callback($field)
みたいな感じで。
サンプル
今回の例では、デイトピッカーのデフォルト値に、
現在日付の一カ月後の値を初期設定することにします。
カスタムフィールド名は close_date
にします。
左サイドバー > 外観 > テーマエディター をクリック後
右サイドバー > テーマファイル > テーマのための関数 (functions.php) をクリック
ファイルの末尾に以下の内容を追記して保存する
/**
* 現在日付の一カ月後を文字列で取得
*/
function show_next_month_from_now()
{
$dt = new DateTime();
$dt->modify("+1 month");
$date = $dt->format("Y-m-d");
return $date;
}
/**
* カスタムフィールドのデフォルト値を設定する
*/
function acf_close_date_callback($field)
{
$field['default_value'] = show_next_month_from_now();
return $field;
}
// デフォルト値設定を適用する
add_filter('acf/load_field/name=close_date', acf_close_date_callback);
2022.03.13追記
試してないですが、こういう書き方もできるなって思いました。
/**
* ACFカスタムフィールドにデフォルト値を設定する
*/
function addAcfDefaultValue(name, value)
{
$fieldName = 'acf/load_field/name=' . $name;
add_filter($fieldName, function($field){
$field['default_value'] = value;
return $field;
});
}
addAcfDefaultValue('my_custom_field_name', "★ここにデフォルト値を入力★");
addAcfDefaultValue('close_date', show_next_month_from_now());
参考URL