Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在ACF下拉列表中提供列表数组_Php_Wordpress - Fatal编程技术网

Php 在ACF下拉列表中提供列表数组

Php 在ACF下拉列表中提供列表数组,php,wordpress,Php,Wordpress,因此,我遇到了一些麻烦,不确定如何才能做到这一点,但我想为高级自定义字段“选择”字段提供一个列表数组,我不确定如何正确执行 下面是我的小部件类中的表单方法: // This is the backend of the widgets public function form($instance) { $api = MailChimp_API::init(); var_dump($api->get_lists()); // Grab the widget ID

因此,我遇到了一些麻烦,不确定如何才能做到这一点,但我想为高级自定义字段“选择”字段提供一个列表数组,我不确定如何正确执行

下面是我的小部件类中的
表单
方法:

// This is the backend of the widgets
public function form($instance)
{
    $api = MailChimp_API::init();
    var_dump($api->get_lists());

    // Grab the widget ID
    $widget_id = $this->id;

    // The ACF Lists are empty at first
    $acf_lists = get_field('mailchimp_list', $widget_id) ? get_field('mailchimp_list',$widget_id) : '';
}
get_lists()
方法会溢出一个多维列表数组,如下所示:

$acf\u lists
变量是数据库中当前不存在的get\u字段,因为我没有任何要传递给它的详细信息。以下是我的组中的ACF字段:

以下是小部件内的列表下拉列表:


您可以使用下面的钩子用get\u列表中的值填充ACF下拉字段。下面是一个示例代码

function my_acf_load_field( $field ) {
    $api = MailChimp_API::init();
    $lists = $api->get_lists();

    $field['choices'] = [];
    foreach($lists as $list) {
     $field['choices'][$list['id']] = $list['name'];
    }
    return $field;
}

add_filter('acf/load_field/key=field_123abcf', 'my_acf_load_field');

很有魅力@Nick,非常感谢!我不知道你必须参与一个行动。