ADD Création du type de publication 'auteurs' avec gestion des noms

This commit is contained in:
Antoine M 2025-06-03 16:42:27 +02:00
parent 5922592177
commit 497d9140d3

62
includes/auteurs.php Normal file
View File

@ -0,0 +1,62 @@
<?php
function dynamiques_create_auteurs_posttype()
{
register_post_type(
'auteurs',
array(
'labels' => 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
));
}
}
}