From 497d9140d3750e3acdd49e15523f114e69fd9751 Mon Sep 17 00:00:00 2001 From: Antoine M Date: Tue, 3 Jun 2025 16:42:27 +0200 Subject: [PATCH] =?UTF-8?q?ADD=20Cr=C3=A9ation=20du=20type=20de=20publicat?= =?UTF-8?q?ion=20'auteurs'=20avec=20gestion=20des=20noms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- includes/auteurs.php | 62 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 includes/auteurs.php diff --git a/includes/auteurs.php b/includes/auteurs.php new file mode 100644 index 0000000..92ede15 --- /dev/null +++ b/includes/auteurs.php @@ -0,0 +1,62 @@ + array( + 'name' => __('Auteurs'), + 'singular_name' => __('Auteur'), + 'add_new' => __('Ajouter un auteur'), + 'add_new_item' => __('Ajouter un auteur'), + 'edit_item' => __('Editer l\'auteur'), + 'new_item' => __('Nouvel auteur'), + 'view_item' => __('Voir l\'auteur'), + 'search_items' => __('Chercher un auteur'), + 'not_found' => __('Pas d\'auteur trouvé'), + 'not_found_in_trash' => __('Pas d\'auteur trouvé dans la corbeille'), + 'all_items' => __('Tous les auteurs'), + 'menu_name' => __('Auteurs'), + 'name_admin_bar' => __('Auteurs'), + ), + 'public' => true, + 'has_archive' => true, + 'show_in_rest' => true, + 'menu_icon' => 'dashicons-admin-users', + 'menu_position' => 4, + 'supports' => array( + 'title', + 'thumbnail', + 'custom-fields', + 'revisions', + ), + ) + ); +} +add_action('init', 'dynamiques_create_auteurs_posttype'); + +//Acf save post action +add_action('acf/save_post', 'dynamiques_save_auteurs_post'); + +function dynamiques_save_auteurs_post($post_id) +{ + $post_type = get_post_type($post_id); + + if ($post_type == 'auteurs') { + $first_name = get_field('first_name', $post_id) ?? ''; + $last_name = get_field('last_name', $post_id) ?? ''; + + $full_name = $first_name . ' ' . $last_name; + + if ($full_name && $full_name != '') { + $post_slug = sanitize_title($full_name); + wp_update_post(array( + 'ID' => $post_id, + 'post_title' => $full_name, + 'post_name' => $post_slug + )); + } + } +}