Представьте, что Вы хотите добавить в свой проект в плагине: Advanced Custom Fields новое поле с возможностью выбирать значение из какой-нибудь вашей MySQL-таблицы. И вот по умолчанию в плагине даже версии ACF PRO такой возможности увы нет. По хорошему нужно разбираться в добавлении новых типов полей и пилить свой дополнительный плагин — кстати, может я о таком еще не знаю? может уже существует такой?
Есть другой подход — более локальный — это реализовать выборку данных из любой Вашей MySQL-таблицы и впихнуть эти данные в список выбора вашей ACF-опции. Решение конечно же локальное и настраиваемое через код — но простое и быстрое:
add_filter('acf/load_field/name=my_var', function ( $field ) {
global $wpdb;
// массив значений, которые будут доступны для выбора
$field['choices'] = array();
// берем значение из некой таблицы my_table
$rows = $wpdb->get_results("SELECT `id`, `name` FROM {$wpdb->prefix}my_table", ARRAY_A);
// наполняем массив данными из таблицы
if (count($rows)) {
foreach ($rows as $_value) {
$field['choices'][$_value['id']] = $_value['name'];
}
}
return $field;
});
my_var — это то Имя поля, которое вы зададите в настройках Вашей ACF-опции выбора:
написано по мотивам инструкции от самих разработчиков ACF и работать должно даже в обычном не платном ACF PRO.


