fix: refactor functions.php structure, update and rename taxonomies

This commit is contained in:
florian.llimos 2024-11-12 16:25:14 +01:00
parent ea078ca313
commit cbfec011cc

View File

@ -1,314 +1,268 @@
<?php
/*
* On utilise une fonction pour créer notre custom post type 'Séries TV'
*/
function wpm_custom_post_type() {
function wpm_custom_post_type() {
// On rentre les différentes dénominations de notre custom post type qui seront affichées dans l'administration
$labels = array(
// Le nom au pluriel
'name' => _x( 'Séries TV', 'Post Type General Name'),
// Le nom au singulier
'singular_name' => _x( 'Série TV', 'Post Type Singular Name'),
// Le libellé affiché dans le menu
'menu_name' => __( 'Séries TV'),
// Les différents libellés de l'administration
'all_items' => __( 'Toutes les séries TV'),
'view_item' => __( 'Voir les séries TV'),
'add_new_item' => __( 'Ajouter une nouvelle série TV'),
'add_new' => __( 'Ajouter'),
'edit_item' => __( 'Editer la séries TV'),
'update_item' => __( 'Modifier la séries TV'),
'search_items' => __( 'Rechercher une série TV'),
'not_found' => __( 'Non trouvée'),
'not_found_in_trash' => __( 'Non trouvée dans la corbeille'),
);
$labels = array(
'name' => _x( 'Cartographie', 'Post Type General Name'),
'singular_name' => _x( 'Cartographie', 'Post Type Singular Name'),
'menu_name' => __( 'Cartographie'),
'all_items' => __( 'Toutes les markers'),
'view_item' => __( 'Voir les markers'),
'add_new_item' => __( 'Ajouter un nouveau marker'),
'add_new' => __( 'Ajouter'),
'edit_item' => __( 'Editer le marker'),
'update_item' => __( 'Modifier le marker'),
'search_items' => __( 'Rechercher un marker'),
'not_found' => __( 'Non trouvée'),
'not_found_in_trash' => __( 'Non trouvée dans la corbeille'),
);
$args = array(
'label' => __( 'Séries TV'),
'description' => __( 'Tous sur séries TV'),
'labels' => $labels,
'menu_icon' => 'dashicons-video-alt2',
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
'show_in_rest' => true,
'hierarchical' => false,
'public' => true,
'has_archive' => true,
'rewrite' => array( 'slug' => 'series-tv'),
);
register_post_type( 'markercartographie', $args );
}
add_action( 'init', 'wpm_custom_post_type', 0 );
add_action( 'init', 'wpm_add_taxonomies', 0 );
function wpm_add_taxonomies() {
// On peut définir ici d'autres options pour notre custom post type
$args = array(
'label' => __( 'Séries TV'),
'description' => __( 'Tous sur séries TV'),
'labels' => $labels,
'menu_icon' => 'dashicons-video-alt2',
// On définit les options disponibles dans l'éditeur de notre custom post type ( un titre, un auteur...)
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
/*
* Différentes options supplémentaires
*/
'show_in_rest' => true,
'hierarchical' => false,
'public' => true,
'has_archive' => true,
'rewrite' => array( 'slug' => 'series-tv'),
$labels_annee = array(
'name' => _x( 'Année', 'taxonomy general name'),
'singular_name' => _x( 'Année', 'taxonomy singular name'),
'search_items' => __( 'Chercher une année'),
'all_items' => __( 'Toutes les années'),
'edit_item' => __( "Editer l'année"),
'update_item' => __( "Mettre à jour l'année"),
'add_new_item' => __( 'Ajouter une nouvelle année'),
'new_item_name' => __( 'Valeur de la nouvelle année'),
'separate_items_with_commas' => __( 'Séparer les réalisateurs avec une virgule'),
'menu_name' => __( 'Année'),
);
);
// On enregistre notre custom post type qu'on nomme ici "serietv" et ses arguments
register_post_type( 'seriestv', $args );
$labels_latitude = array(
'name' => _x( 'Latitude', 'taxonomy general name'),
'singular_name' => _x( 'Latitude', 'taxonomy singular name'),
'search_items' => __( 'Chercher une latitude'),
'all_items' => __( 'Toutes les latitudes'),
'edit_item' => __( 'Editer la latitude'),
'update_item' => __( 'Mettre à jour la latitude'),
'add_new_item' => __( 'Ajouter une nouvelle latitude'),
'new_item_name' => __( 'Valeur de la nouvelle latitude'),
'separate_items_with_commas' => __( 'Séparer les réalisateurs avec une virgule'),
'menu_name' => __( 'Latitude'),
);
}
$labels_longitude = array(
'name' => _x( 'Longitude', 'taxonomy general name'),
'singular_name' => _x( 'Longitude', 'taxonomy singular name'),
'search_items' => __( 'Chercher une longitude'),
'all_items' => __( 'Toutes les longitude'),
'edit_item' => __( 'Editer la longitude'),
'update_item' => __( 'Mettre à jour la longitude'),
'add_new_item' => __( 'Ajouter une nouvelle longitude'),
'new_item_name' => __( 'Valeur de la nouvelle longitude'),
'separate_items_with_commas' => __( 'Séparer les réalisateurs avec une virgule'),
'menu_name' => __( 'Longitude'),
);
add_action( 'init', 'wpm_custom_post_type', 0 );
$labels_codepstl = array(
'name' => _x( 'Code postal', 'taxonomy general name'),
'singular_name' => _x( 'Code postal', 'taxonomy singular name'),
'search_items' => __( 'Chercher une longitude'),
'all_items' => __( 'Tous les codes postaux'),
'edit_item' => __( 'Editer le code postal'),
'update_item' => __( 'Mettre à jour le code postal'),
'add_new_item' => __( 'Ajouter un nouveau code postal'),
'new_item_name' => __( 'Valeur du nouveau code postal'),
'separate_items_with_commas' => __( 'Séparer les réalisateurs avec une virgule'),
'menu_name' => __( 'Code postal'),
);
add_action( 'init', 'wpm_add_taxonomies', 0 );
$labels_ville = array(
'name' => _x( 'Ville', 'taxonomy general name'),
'singular_name' => _x( 'Ville', 'taxonomy singular name'),
'search_items' => __( 'Chercher une ville'),
'all_items' => __( 'Toutes les villes'),
'edit_item' => __( 'Editer la ville'),
'update_item' => __( 'Mettre à jour la ville'),
'add_new_item' => __( 'Ajouter une nouvelle ville'),
'new_item_name' => __( 'Valeur de la nouvelle ville'),
'separate_items_with_commas' => __( 'Séparer les réalisateurs avec une virgule'),
'menu_name' => __( 'Ville'),
);
//On crée 3 taxonomies personnalisées: Année, Réalisateurs et Catégories de série.
$labels_cat_serie = array(
'name' => _x( 'Domaine', 'taxonomy general name'),
'singular_name' => _x( 'Domaine', 'taxonomy singular name'),
'search_items' => __( 'Rechercher un domaine'),
'all_items' => __( 'Tous les domaine'),
'edit_item' => __( 'Editer un domaine'),
'update_item' => __( 'Mettre à jour un domaine'),
'add_new_item' => __( 'Ajouter un nouveau domaine'),
'new_item_name' => __( 'Nom du nouveau domaine'),
'add_or_remove_items' => __( 'Ajouter ou supprimer un domaine'),
'choose_from_most_used' => __( 'Choisir parmi les domaines les plus utilisées'),
'not_found' => __( 'Pas de domaine trouvées'),
'menu_name' => __( 'Domaine'),
);
function wpm_add_taxonomies() {
// Taxonomie Année
$labels_label_serie = array(
'name' => _x( 'Label', 'taxonomy general name'),
'singular_name' => _x( 'Label', 'taxonomy singular name'),
'search_items' => __( 'Rechercher un label'),
'popular_items' => __( 'Labels populaires'),
'all_items' => __( 'Tous les labels'),
'edit_item' => __( 'Editer un label'),
'update_item' => __( 'Mettre à jour un label'),
'add_new_item' => __( 'Ajouter un nouveau label'),
'new_item_name' => __( 'Nom du nouveau label'),
'add_or_remove_items' => __( 'Ajouter ou supprimer un label'),
'choose_from_most_used' => __( 'Choisir parmi les labels les plus utilisées'),
'not_found' => __( 'Pas de label trouvées'),
'menu_name' => __( 'Label'),
);
// On déclare ici les différentes dénominations de notre taxonomie qui seront affichées et utilisées dans l'administration de WordPress
$labels_annee = array(
'name' => _x( 'Années', 'taxonomy general name'),
'singular_name' => _x( 'Année', 'taxonomy singular name'),
'search_items' => __( 'Chercher une année'),
'all_items' => __( 'Toutes les années'),
'edit_item' => __( 'Editer l année'),
'update_item' => __( 'Mettre à jour l année'),
'add_new_item' => __( 'Ajouter une nouvelle année'),
'new_item_name' => __( 'Valeur de la nouvelle année'),
'separate_items_with_commas' => __( 'Séparer les réalisateurs avec une virgule'),
'menu_name' => __( 'Année'),
);
$labels_avancement_serie = array(
'name' => _x( 'Avancement du projet', 'taxonomy general name'),
'singular_name' => _x( 'Avancement du projet', 'taxonomy singular name'),
'search_items' => __( 'Rechercher un avancement de projet'),
'popular_items' => __( 'Avancement de projet populaires'),
'all_items' => __( 'Tous les avancement de projet'),
'edit_item' => __( 'Editer un avancement de projet'),
'update_item' => __( 'Mettre à jour un avancement de projet'),
'add_new_item' => __( 'Ajouter un nouvel avancement de projet'),
'new_item_name' => __( 'Nom du nouveau avancement de projet'),
'add_or_remove_items' => __( 'Ajouter ou supprimer un avancement de projet'),
'choose_from_most_used' => __( 'Choisir parmi les avancement de projet les plus utilisées'),
'not_found' => __( "Pas d'avancemenet de projet trouvées"),
'menu_name' => __( 'Avancement du projet'),
);
$args_annee = array(
// Si 'hierarchical' est défini à false, notre taxonomie se comportera comme une étiquette standard
'hierarchical' => false,
'labels' => $labels_annee,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'annees' ),
);
$labels_associe = array(
'name' => _x( 'Associé BBE', 'taxonomy general name'),
'singular_name' => _x( 'Associé BBE', 'taxonomy singular name'),
'search_items' => __( 'Chercher une association'),
'all_items' => __( 'Toutes les associations'),
'edit_item' => __( "Editer l'association"),
'update_item' => __( 'Mettre à jour l année'),
'add_new_item' => __( 'Ajouter une nouvelle association'),
'new_item_name' => __( 'Valeur de la nouvelle association'),
'separate_items_with_commas' => __( 'Séparer les réalisateurs avec une virgule'),
'menu_name' => __( 'Associé-e BBE'),
);
register_taxonomy( 'annees', 'seriestv', $args_annee );
$args_cat_serie = array(
'hierarchical' => true,
'labels' => $labels_cat_serie,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'categories-series' ),
);
$labels_latitude = array(
'name' => _x( 'Latitude', 'taxonomy general name'),
'singular_name' => _x( 'Latitude', 'taxonomy singular name'),
'search_items' => __( 'Chercher une latitude'),
'all_items' => __( 'Toutes les latitude'),
'edit_item' => __( 'Editer la latitude'),
'update_item' => __( 'Mettre à jour l année'),
'add_new_item' => __( 'Ajouter une nouvelle année'),
'new_item_name' => __( 'Valeur de la nouvelle année'),
'separate_items_with_commas' => __( 'Séparer les réalisateurs avec une virgule'),
'menu_name' => __( 'Latitude'),
);
$args_label_serie = array(
'hierarchical' => true,
'labels' => $labels_label_serie,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'categories-label' ),
);
$args_latitude = array(
// Si 'hierarchical' est défini à false, notre taxonomie se comportera comme une étiquette standard
'hierarchical' => false,
'labels' => $labels_latitude,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'latitude' ),
);
$args_avancement_serie = array(
'hierarchical' => true,
'labels' => $labels_avancement_serie,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'categories-avancement' ),
);
register_taxonomy( 'latitude', 'seriestv', $args_latitude );
$args_associe = array(
'hierarchical' => false,
'labels' => $labels_associe,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'associe' ),
);
$labels_longitude = array(
'name' => _x( 'Longitude', 'taxonomy general name'),
'singular_name' => _x( 'Longitude', 'taxonomy singular name'),
'search_items' => __( 'Chercher une longitude'),
'all_items' => __( 'Toutes les longitude'),
'edit_item' => __( 'Editer la longitude'),
'update_item' => __( 'Mettre à jour l année'),
'add_new_item' => __( 'Ajouter une nouvelle année'),
'new_item_name' => __( 'Valeur de la nouvelle année'),
'separate_items_with_commas' => __( 'Séparer les réalisateurs avec une virgule'),
'menu_name' => __( 'Longitude'),
);
$args_ville = array(
'hierarchical' => false,
'labels' => $labels_ville,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'ville' ),
);
$args_longitude = array(
// Si 'hierarchical' est défini à false, notre taxonomie se comportera comme une étiquette standard
'hierarchical' => false,
'labels' => $labels_longitude,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'longitude' ),
);
$args_codepstl = array(
'hierarchical' => false,
'labels' => $labels_codepstl,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'codepstl' ),
);
register_taxonomy( 'longitude', 'seriestv', $args_longitude );
$args_latitude = array(
'hierarchical' => false,
'labels' => $labels_latitude,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'latitude' ),
);
$labels_codepstl = array(
'name' => _x( 'Code postal', 'taxonomy general name'),
'singular_name' => _x( 'Code postal', 'taxonomy singular name'),
'search_items' => __( 'Chercher une longitude'),
'all_items' => __( 'Toutes les longitude'),
'edit_item' => __( 'Editer la longitude'),
'update_item' => __( 'Mettre à jour l année'),
'add_new_item' => __( 'Ajouter une nouvelle année'),
'new_item_name' => __( 'Valeur de la nouvelle année'),
'separate_items_with_commas' => __( 'Séparer les réalisateurs avec une virgule'),
'menu_name' => __( 'codepstl'),
);
$args_annee = array(
'hierarchical' => false,
'labels' => $labels_annee,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'annees' ),
);
$args_codepstl = array(
// Si 'hierarchical' est défini à false, notre taxonomie se comportera comme une étiquette standard
'hierarchical' => false,
'labels' => $labels_codepstl,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'codepstl' ),
);
$args_longitude = array(
'hierarchical' => false,
'labels' => $labels_longitude,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'longitude' ),
);
register_taxonomy( 'codepstl', 'seriestv', $args_codepstl );
register_taxonomy( 'associe', 'markercartographie', $args_associe );
register_taxonomy( 'categoriesseries', 'markercartographie', $args_cat_serie );
register_taxonomy( 'avancementduprojet', 'markercartographie', $args_avancement_serie );
register_taxonomy( 'categoriesseries', 'markercartographie', $args_cat_serie );
register_taxonomy( 'categorielabel', 'markercartographie', $args_label_serie );
register_taxonomy( 'categorielabel', 'markercartographie', $args_label_serie );
register_taxonomy( 'ville', 'markercartographie', $args_ville );
register_taxonomy( 'annees', 'markercartographie', $args_annee );
register_taxonomy( 'codepstl', 'markercartographie', $args_codepstl );
register_taxonomy( 'longitude', 'markercartographie', $args_longitude );
register_taxonomy( 'latitude', 'markercartographie', $args_latitude );
$labels_ville = array(
'name' => _x( 'Ville', 'taxonomy general name'),
'singular_name' => _x( 'Ville', 'taxonomy singular name'),
'search_items' => __( 'Chercher une longitude'),
'all_items' => __( 'Toutes les longitude'),
'edit_item' => __( 'Editer la longitude'),
'update_item' => __( 'Mettre à jour l année'),
'add_new_item' => __( 'Ajouter une nouvelle année'),
'new_item_name' => __( 'Valeur de la nouvelle année'),
'separate_items_with_commas' => __( 'Séparer les réalisateurs avec une virgule'),
'menu_name' => __( 'ville'),
);
$args_ville = array(
// Si 'hierarchical' est défini à false, notre taxonomie se comportera comme une étiquette standard
'hierarchical' => false,
'labels' => $labels_ville,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'ville' ),
);
register_taxonomy( 'ville', 'seriestv', $args_ville );
// Labels for the Domaine taxonomy
$labels_cat_serie = array(
'name' => _x( 'Domaine', 'taxonomy general name'),
'singular_name' => _x( 'Domaine', 'taxonomy singular name'),
'search_items' => __( 'Rechercher un Domaine'),
'popular_items' => __( 'Catégories populaires'),
'all_items' => __( 'Toutes les catégories'),
'edit_item' => __( 'Editer une catégorie'),
'update_item' => __( 'Mettre à jour une catégorie'),
'add_new_item' => __( 'Ajouter une nouvelle catégorie'),
'new_item_name' => __( 'Nom de la nouvelle catégorie'),
'add_or_remove_items' => __( 'Ajouter ou supprimer une catégorie'),
'choose_from_most_used' => __( 'Choisir parmi les domaines les plus utilisées'),
'not_found' => __( 'Pas de catégories trouvées'),
'menu_name' => __( 'Domaine'),
);
// Labels for the Label taxonomy
$labels_label_serie = array(
'name' => _x( 'Label', 'taxonomy general name'),
'singular_name' => _x( 'Label', 'taxonomy singular name'),
'search_items' => __( 'Rechercher une catégorie'),
'popular_items' => __( 'Catégories populaires'),
'all_items' => __( 'Toutes les catégories'),
'edit_item' => __( 'Editer une catégorie'),
'update_item' => __( 'Mettre à jour une catégorie'),
'add_new_item' => __( 'Ajouter une nouvelle catégorie'),
'new_item_name' => __( 'Nom de la nouvelle catégorie'),
'add_or_remove_items' => __( 'Ajouter ou supprimer une catégorie'),
'choose_from_most_used' => __( 'Choisir parmi les catégories les plus utilisées'),
'not_found' => __( 'Pas de catégories trouvées'),
'menu_name' => __( 'Label'),
);
// Labels for the Avancement du projet taxonomy
$labels_avancement_serie = array(
'name' => _x( 'Avancement du projet', 'taxonomy general name'),
'singular_name' => _x( 'Avancement du projet', 'taxonomy singular name'),
'search_items' => __( 'Rechercher une catégorie'),
'popular_items' => __( 'Catégories populaires'),
'all_items' => __( 'Toutes les catégories'),
'edit_item' => __( 'Editer une catégorie'),
'update_item' => __( 'Mettre à jour une catégorie'),
'add_new_item' => __( 'Ajouter une nouvelle catégorie'),
'new_item_name' => __( 'Nom de la nouvelle catégorie'),
'add_or_remove_items' => __( 'Ajouter ou supprimer une catégorie'),
'choose_from_most_used' => __( 'Choisir parmi les catégories les plus utilisées'),
'not_found' => __( 'Pas de catégories trouvées'),
'menu_name' => __( 'Avancement du projet'),
);
// Arguments for the Domaine taxonomy
$args_cat_serie = array(
'hierarchical' => true,
'labels' => $labels_cat_serie,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'categories-series' ),
);
// Arguments for the Label taxonomy
$args_label_serie = array(
'hierarchical' => true,
'labels' => $labels_label_serie,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'categories-label' ),
);
// Arguments for the Avancement du projet taxonomy
$args_avancement_serie = array(
'hierarchical' => true,
'labels' => $labels_avancement_serie,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'categories-avancement' ),
);
$labels_associe = array(
'name' => _x( 'Associé BBE', 'taxonomy general name'),
'singular_name' => _x( 'Associé BBE', 'taxonomy singular name'),
'search_items' => __( 'Chercher une longitude'),
'all_items' => __( 'Toutes les longitude'),
'edit_item' => __( 'Editer la longitude'),
'update_item' => __( 'Mettre à jour l année'),
'add_new_item' => __( 'Ajouter une nouvelle année'),
'new_item_name' => __( 'Valeur de la nouvelle année'),
'separate_items_with_commas' => __( 'Séparer les réalisateurs avec une virgule'),
'menu_name' => __( 'associe'),
);
$args_associe = array(
// Si 'hierarchical' est défini à false, notre taxonomie se comportera comme une étiquette standard
'hierarchical' => false,
'labels' => $labels_associe,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'associe' ),
);
register_taxonomy( 'associe', 'seriestv', $args_associe );
// Register the taxonomies
register_taxonomy( 'categoriesseries', 'seriestv', $args_cat_serie ); // For Domaine
register_taxonomy( 'avancementduprojet', 'seriestv', $args_avancement_serie ); // For Avancement du projet
// Register taxonomies with unique names
register_taxonomy( 'categoriesseries', 'seriestv', $args_cat_serie ); // For Domaine
register_taxonomy( 'categorielabel', 'seriestv', $args_label_serie ); // For Label
register_taxonomy( 'categorielabel', 'seriestv', $args_label_serie ); // For Label
}
}