我使用高级自定义字段在成员配置文件中创建新字段。使用设置中的位置面板,我可以针对用户组和我想要显示的字段(这工作完美)。
然而,我现在使用允许我将表单插入前端的acf_form
函数。我已经创建了三个测试帐户,不包括我的admin帐户。在管理帐户,我上传一个图像,并填写自定义字段之一。当我登录到另一个帐户时,这些字段已经获得了与admin帐户相关联的值。
这只发生在前端形式,当我访问wordpress官方用户配置文件时,它是空的(就像它应该是)。
<?php $options = array(
'post_id' => $post->ID,
'field_groups' => array(77),
'form' => true,
'return' => add_query_arg( 'updated', 'true', get_permalink() ),
'html_before_fields' => '',
'html_after_fields' => '',
'submit_value' => 'Update'
);
acf_form( $options );
?>
它这样做有什么原因吗?
刚刚通过从wordpress本身调用$current_user
解决了这个问题。下面是新的选项
<?php $options = array(
'post_id' => 'user_'.$current_user->ID,
'field_groups' => array(77),
'form' => true,
'return' => add_query_arg( 'updated', 'true', get_permalink() ),
'html_before_fields' => '',
'html_after_fields' => '',
'submit_value' => 'Update'
);
acf_form( $options );
?>