ACF复选框无法在用户个人资料中获取值-Wordpress
创始人
2024-07-23 09:01:43
0
  1. 在 functions.php 中注册 ACF 复选框字段
function register_acf_fields() {
    acf_add_local_field_group(array(
        'key' => 'group_user_preferences',
        'title' => '用户偏好设置',
        'fields' => array(
            array(
                'key' => 'field_favorite_color',
                'label' => '喜爱颜色',
                'name' => 'favorite_color',
                'type' => 'checkbox',
                'choices' => array(
                    'red' => '红色',
                    'green' => '绿色',
                    'blue' => '蓝色'
                ),
                'default_value' => array(
                    'red',
                    'blue'
                ),
                'layout' => 'vertical'
            )
        ),
        'location' => array(
            array(
                array(
                    'param' => 'user_form',
                    'operator' => '==',
                    'value' => 'edit'
                )
            )
        ),
        'show_in_graphql' => true
    ));
}
add_action('acf/init', 'register_acf_fields');
  1. 在用户个人资料模板中显示复选框
$user = get_user_by('id', $user_id);

echo '

偏好设置

'; echo ''; echo ''; echo ''; echo '
'; echo '
'; echo '喜爱颜色'; $field_key = 'field_favorite_color'; $field = get_field_object($field_key, 'user_' . $user_id); $choices = $field['choices']; $selected = $field['value']; if ($choices) { foreach ($choices as $value => $label) { echo '