Sources : https://usersinsights.com/acf-user-profile
L’idée est de créer un snippet PHP qui lie un groupe de champs ACF à la page auteur (càd également aux données du profil User) et d’avoir une interface pour l’éditer.

Ce qui dans le compte User se traduira par:

LES ACTIONS :
- PHP function to create a form shortcode
- PHP function to process your form data
- A page using these shortcodes to input / output user data
Code PHP pour lier ACF et Author Page:
(ATTENTION : lors du « add_query_arg » la redirection est ici différente de l’exemple source. Ici la page revient sur la page Author du user en cours. L’exemple source utilise un get_permalink())
//lier groupe de champs ACF a Author Page
function my_acf_user_form_func( $atts ) {
$a = shortcode_atts( array(
'field_group' => ''
), $atts );
$uid = get_current_user_id();
if ( ! empty ( $a['field_group'] ) && ! empty ( $uid ) ) {
$options = array(
'post_id' => 'user_'.$uid,
'field_groups' => array( intval( $a['field_group'] ) ),
'return' => add_query_arg( 'updated', 'true', '/?author=' . $uid )
);
ob_start();
acf_form( $options );
$form = ob_get_contents();
ob_end_clean();
}
return $form;
}
add_shortcode( 'my_acf_user_form', 'my_acf_user_form_func' );
Déclaration du ShortCode:
//adding AFC form head
function add_acf_form_head(){
global $post;
if ( !empty($post) && has_shortcode( $post->post_content, 'my_acf_user_form' ) ) {
acf_form_head();
}
}
add_action( 'wp_head', 'add_acf_form_head', 7 );
Le shortcode en question:
[my_acf_user_form field_group="574"]


Ici le plugin