您需要在提交前先使用ACF的save_post函数更新自定义字段的值。以下是一个代码示例:
add_action('acf/save_post', 'my_acf_save_post');
function my_acf_save_post( $post_id ) {
if( empty($_POST['acf']) ) {
return;
}
// 获取所有ACF字段
$acf_fields = $_POST['acf'];
// 更新所有ACF字段
foreach( $acf_fields as $key => $value ) {
// 获取字段键名并检查它是否是自定义字段
$field_key = str_replace('field_', '', $key);
if( !preg_match('/^my_custom_field/', $field_key) ) {
continue;
}
// 更新该字段的值
update_field( $field_key, $value, $post_id );
}
}
以上代码将获取前端提交的所有ACF字段,并更新指定的自定义字段(在示例中,字段键名以“my_custom_field”开头)。确保在您的代码中更改这些值,以匹配您的自定义字段。