В этой статьей покажу на примере кка получить ключ ACF из базы данных WordPress’а.
Перед тем, как начнём, должен отметить, что каждое поле и группа полей для ACF хранятся в таблице wp_posts в базе данных как настраиваемые типы сообщений. Поля — это «acf-field», а группы — «acf-field-group».
Вы можете использовать эту функцию, чтобы получить ключ поля, а затем использовать update_field($field_key, $value) для сообщений, в которых еще не было поля.
function get_acf_key($field_name) {
global $wpdb;
$length = strlen($field_name);
$sql = "
SELECT `meta_key`
FROM {$wpdb->postmeta}
WHERE `meta_key` LIKE 'field_%' AND `meta_value` LIKE '%\"name\";s:$length:\"$field_name\";%';
";
return $wpdb->get_var($sql);
}
Затем чтобы обновить поле, которое уже было, либо добавить поле и его ключевую ссылку на сообщения, в которых еще не было поля, можете использовать это:
update_field(get_acf_key('my_field_name'), 'some value', $post_id);