function ($object) { return get_fields($object['id']); }, 'schema' => null, ] ); }); // Gestion des menus ACF et sous-menus function register_acf_dashboard_menus() { // Menu principal : Page d'accueil add_menu_page( 'Page d\'accueil', // Titre de la page principale 'Page d\'accueil', // Texte du menu 'manage_options', // Capacité requise 'acf-homepage', // Slug du menu principal 'acf_manager_main_page', // Fonction de rappel pour la page principale 'dashicons-admin-home', // Icône du menu 2 // Position dans le menu ); // Sous-menus pour Page d'accueil add_submenu_page( 'acf-homepage', // Slug du menu parent 'Gérer Section Hero', // Titre de la page 'Section Hero', // Texte du sous-menu 'manage_options', // Capacité requise 'acf-homepage-hero', // Slug du sous-menu 'acf_manager_section_hero' // Fonction de rappel ); add_submenu_page( 'acf-homepage', 'Gérer Section Expertise', 'Section Expertise', 'manage_options', 'acf-homepage-expertise', 'acf_manager_section_expertise' ); add_submenu_page( 'acf-homepage', 'Gérer Section Construction', 'Section Construction', 'manage_options', 'acf-homepage-construction', 'acf_manager_section_construction' ); // Menu principal : Page Contact add_menu_page( 'Page Contact', // Titre de la page principale 'Page Contact', // Texte du menu 'manage_options', // Capacité requise 'acf-contact', // Slug du menu principal 'acf_manager_contact_main', // Fonction de rappel pour la page principale 'dashicons-email', // Icône du menu 3 // Position dans le menu ); // Sous-menus pour Page Contact add_submenu_page( 'acf-contact', 'Gérer Section Formulaire', 'Section FAQ', 'manage_options', 'acf-contact-form', 'acf_manager_contact_form' ); // add_submenu_page( // 'acf-contact', // 'Gérer Section Coordonnées', // 'Section Coordonnées', // 'manage_options', // 'acf-contact-coordinates', // 'acf_manager_contact_coordinates' // ); } add_action('admin_menu', 'register_acf_dashboard_menus'); // Fonction de rappel pour les pages principales function acf_manager_main_page() { echo '

Bienvenue dans le Gestionnaire de la Page d\'accueil

Choisissez une section pour gérer ses champs.

'; } function acf_manager_contact_main() { echo '

Bienvenue dans le Gestionnaire de la Page Contact

Choisissez une section pour gérer ses champs.

'; } // Fonctions de rappel pour les sous-menus function acf_manager_section_hero() { render_acf_form('group_6774f26930ebd', '13'); // Remplacez par vos IDs ACF et Post ID } function acf_manager_section_expertise() { render_acf_form('group_6779c41fcdc6d', '13'); } function acf_manager_section_construction() { render_acf_form('group_677d3294c3dfa', '13'); } function acf_manager_contact_form() { render_acf_form('group_677e8bf907253', '116'); // Remplacez par vos IDs ACF et Post ID } // function acf_manager_contact_coordinates() { // render_acf_form('group_contact_coordinates', '116'); // Remplacez par vos IDs ACF et Post ID // } // Fonction générique pour afficher les formulaires ACF function render_acf_form($field_group, $post_id) { ?>

Gestion des Champs

$post_id, // ID de la page ou de l'article 'field_groups' => array($field_group), // ID du groupe ACF 'form' => true, 'return' => add_query_arg('updated', 'true', wp_get_referer()), 'submit_value' => __('Enregistrer les modifications', 'acf'), )); } else { echo '

Le plugin ACF n\'est pas activé ou disponible.

'; } ?>
function ($object) { return get_fields($object['id']); }, 'schema' => null, ] ); function ajouter_opengraph_meta_api($data, $post, $context) { if ($context !== 'view' || !$post) { return $data; } // Récupérer les métadonnées de Rank Math $og_title = get_post_meta($post->ID, 'rank_math_title', true); $og_description = get_post_meta($post->ID, 'rank_math_description', true); $og_image = get_post_meta($post->ID, 'rank_math_facebook_image', true); // Ajouter les métadonnées au champ API $data->data['opengraph'] = [ 'title' => $og_title ?: $post->post_title, 'description' => $og_description ?: wp_trim_words($post->post_content, 20), 'image' => $og_image ? wp_get_attachment_url($og_image) : null, ]; return $data; } add_filter('rest_prepare_post', 'ajouter_opengraph_meta_api', 10, 3);