Maison >Tutoriel CMS >WordPresse >Types de publication personnalisés WordPress - Avis et taxonomies

Types de publication personnalisés WordPress - Avis et taxonomies

Lisa Kudrow
Lisa Kudroworiginal
2025-02-15 10:31:11973parcourir

Types de publication personnalisés WordPress - Avis et taxonomies

Les plats clés

  • Personnaliser les avis d'administration pour les types de publication personnalisés (CPT) WordPress peut être réalisé en utilisant le crochet «post_updated_messages», qui permet aux utilisateurs de modifier le message d'alerte par défaut affiché lorsqu'un message est enregistré, publié ou mis à jour.
  • Dans WordPress, les taxonomies servent de mécanisme pour regrouper les postes de tout type, y compris les CPT. Les taxonomies personnalisées peuvent être créées à l'aide de la fonction «register_taxonomy ()», permettant une catégorisation plus spécifique de CPTS.
  • Les types de publication et les taxonomies personnalisés sont de puissantes fonctionnalités WordPress qui permettent un regroupement plus organisé et spécifique des données ou des entrées de publication au-delà des types de publication et de pages par défaut.

Dans mon article précédent, j'ai introduit des types de publiques personnalisées (CPT) et comment en créer un pour votre site Web propulsé par WordPress.

Nous avons également examiné comment personnaliser les différentes étiquettes d'interface utilisateur d'un type de publication personnalisé pour le distinguer des types de publication Native post et . Cependant, nous n'avons pas couvert comment personnaliser les avis d'administration générés par eux.

Dans ce tutoriel, je couvrirai comment personnaliser ces avis et aussi comment enregistrer de nouvelles taxonomies à un type de poste personnalisé.

Personnalisation des avis d'administration CPT

connaissez-vous le message d'alerte qui s'affiche près des pages d'administration en haut par exemple lorsqu'un message est enregistré en tant que projet, publié ou même lorsque vous enregistrez les paramètres d'un plugin? Ce message est ce qu'on appelle un avis d'administration.

Par défaut, l'administrateur remarque affiché lorsque vous travaillez sur un message personnalisé suppose que vous avez affaire à un type de publication et par exemple, par exemple un type de message de livre mis à jour, l'avis suivant est affiché: Post mis à jour. Afficher la publication.

Vous pouvez modifier facilement le texte de ces messages en utilisant le crochet post_updated_messages comme:

add_filter( 'post_updated_messages', 'book_cpt_messages' );


/**
 * Book CPT updates messages.
 *
 * @param array $messages Existing post update messages.
 *
 * @return array Amended book CPT notices
 */
function book_cpt_messages( $messages ) {
    $post             = get_post();
    $post_type        = get_post_type( $post );
    $post_type_object = get_post_type_object( $post_type );

    $messages['book'] = array(
        0  => '', // Unused. Messages start at index 1.
        1  => __( 'Book updated.', 'textdomain' ),
        2  => __( 'Custom field updated.', 'textdomain' ),
        3  => __( 'Custom field deleted.', 'textdomain' ),
        4  => __( 'Book updated.', 'textdomain' ),
        5  => isset( $_GET['revision'] ) ? sprintf( __( 'Book restored to revision from %s', 'textdomain' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
        6  => __( 'Book published.', 'textdomain' ),
        7  => __( 'Book saved.', 'textdomain' ),
        8  => __( 'Book submitted.', 'textdomain' ),
        9  => sprintf(
            __( 'Book scheduled for: <strong>%1$s</strong>.', 'textdomain' ),
            date_i18n( __( 'M j, Y @ G:i', 'textdomain' ), strtotime( $post->post_date ) )
        ),
        10 => __( 'Book draft updated.', 'textdomain' )
    );

    if ( $post_type_object->publicly_queryable ) {
        $permalink = get_permalink( $post->ID );

        $view_link = sprintf( ' <a href="%s">%s</a>', esc_url( $permalink ), __( 'View book', 'textdomain' ) );
        $messages[ $post_type ][1] .= $view_link;
        $messages[ $post_type ][6] .= $view_link;
        $messages[ $post_type ][9] .= $view_link;

        $preview_permalink = add_query_arg( 'preview', 'true', $permalink );
        $preview_link      = sprintf( ' <a target="_blank" href="%s">%s</a>', esc_url( $preview_permalink ), __( 'Preview book', 'textdomain' ) );
        $messages[ $post_type ][8] .= $preview_link;
        $messages[ $post_type ][10] .= $preview_link;
    }

    return $messages;
}

Code Explication: Le code ci-dessus personnalise les avis d'administration générés par un type de message personnalisé de livre.

Le tableau multidimensionnel des messages Contrôle des avis d'administration affichés par n'importe quel type de message.

Pour personnaliser les messages d'un type de message personnalisé de livre, créez un tableau d'index contenant les différents messages comme valeur de $ messages ['livre'].

L'instruction IF vérifie si le type de publication personnalisé est publiquement requête. Autrement dit, si l'argument public est défini sur true lors de l'enregistrement du type de poste personnalisé.

Si vrai, un lien pour afficher un article appartenant au CPT est ajouté à l'avis d'administration affiché lorsqu'il est mis à jour, publié ou planifié pour publication tandis qu'un lien pour prévisualiser le message est ajouté lorsqu'il est soumis pour examen ou Le projet est mis à jour.

Taxonomies personnalisées

Dans WordPress, une taxonomie est un mécanisme pour regrouper les postes de tout type.

Les exemples de taxonomies incluent la catégorie de regroupement des publications liées à une catégorie et une balise données qui sont assez similaires aux catégories mais qui sont plus gratuites. Plus d'informations sur les taxonomies sont disponibles sur le codex WordPress.

Cela étant dit, nous allons couvrir comment créer des taxonomies personnalisées. Prenons l'exemple de la création d'un type de message de livre, en catégorisant les entrées de livre en utilisant les mêmes catégories utilisées pour les articles de blog n'est pas idéal.

Un exemple de la vie réelle est le plugin Easy Digital Downloads qui utilise un type de publication personnalisé pour les entrées de produits numériques avec une taxonomie téléchargée_category pour la catégorisation des produits.

Pour créer une taxonomie personnalisée, utilisez la fonction register_taxonomy () et l'accrochez à l'action init comme SO:

add_filter( 'post_updated_messages', 'book_cpt_messages' );


/**
 * Book CPT updates messages.
 *
 * @param array $messages Existing post update messages.
 *
 * @return array Amended book CPT notices
 */
function book_cpt_messages( $messages ) {
    $post             = get_post();
    $post_type        = get_post_type( $post );
    $post_type_object = get_post_type_object( $post_type );

    $messages['book'] = array(
        0  => '', // Unused. Messages start at index 1.
        1  => __( 'Book updated.', 'textdomain' ),
        2  => __( 'Custom field updated.', 'textdomain' ),
        3  => __( 'Custom field deleted.', 'textdomain' ),
        4  => __( 'Book updated.', 'textdomain' ),
        5  => isset( $_GET['revision'] ) ? sprintf( __( 'Book restored to revision from %s', 'textdomain' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
        6  => __( 'Book published.', 'textdomain' ),
        7  => __( 'Book saved.', 'textdomain' ),
        8  => __( 'Book submitted.', 'textdomain' ),
        9  => sprintf(
            __( 'Book scheduled for: <strong>%1$s</strong>.', 'textdomain' ),
            date_i18n( __( 'M j, Y @ G:i', 'textdomain' ), strtotime( $post->post_date ) )
        ),
        10 => __( 'Book draft updated.', 'textdomain' )
    );

    if ( $post_type_object->publicly_queryable ) {
        $permalink = get_permalink( $post->ID );

        $view_link = sprintf( ' <a href="%s">%s</a>', esc_url( $permalink ), __( 'View book', 'textdomain' ) );
        $messages[ $post_type ][1] .= $view_link;
        $messages[ $post_type ][6] .= $view_link;
        $messages[ $post_type ][9] .= $view_link;

        $preview_permalink = add_query_arg( 'preview', 'true', $permalink );
        $preview_link      = sprintf( ' <a target="_blank" href="%s">%s</a>', esc_url( $preview_permalink ), __( 'Preview book', 'textdomain' ) );
        $messages[ $post_type ][8] .= $preview_link;
        $messages[ $post_type ][10] .= $preview_link;
    }

    return $messages;
}

Si vous avez déjà un type de publication personnalisé, vous devriez voir la taxonomie de catégorie ajoutée au menu administrateur et publier l'écran de modification.

Types de publication personnalisés WordPress - Avis et taxonomies Types de publication personnalisés WordPress - Avis et taxonomies

Vous pouvez également utiliser Register_Post_Type () pour enregistrer les types de publiques personnalisées, la fonction register_taxonomy () accepte également un tableau d'arguments pour la personnalisation des étiquettes et la configuration d'une taxonomie personnalisée.

Je n'expliquerai pas les arguments car ils sont à peu près les mêmes que ceux de registre_post_type (). Une liste des arguments et descriptions est disponible ici.

Conclusion

Les types de publication personnalisés sont une fonctionnalité puissante de WordPress et utile pour regrouper des données ou des entrées de publication qui ne rentrent pas dans un type de publication et de page. La cerise sur le gâteau est la possibilité de classer davantage les publications d'un type de message personnalisé en enregistrant une taxonomie personnalisée.

avez-vous une question ou une contribution? Veuillez utiliser les commentaires pour nous le faire savoir.

Des questions fréquemment posées sur les types de publiques personnalisées WordPress, les avis et les taxonomies

Comment puis-je créer un type de publication personnalisé dans WordPress?

La création d'un type de message personnalisé dans WordPress implique l'ajout de quelques lignes de code à votre fichier functions.php. Vous devrez utiliser la fonction register_post_type (), qui vous permet de définir un nouveau type de message par ses étiquettes, ses fonctionnalités prises en charge, sa disponibilité et d'autres critères. N'oubliez pas de vider vos règles de réécriture après avoir ajouté le code en visitant la page des paramètres du permalinks.

Quelles sont les taxonomies WordPress et comment fonctionnent-elles?

Les taxonomies dans WordPress sont un moyen de regrouper les publications (ou ou Types de publication personnalisés) ensemble. Ils se présentent sous deux formes: catégories et balises. Les catégories sont hiérarchiques et peuvent avoir des catégories d'enfants, tandis que les balises ne sont pas hiérarchiques. Vous pouvez créer des taxonomies personnalisées à l'aide de la fonction register_taxonomy ().

Comment puis-je afficher des avis de type de publication personnalisés dans WordPress?

Pour afficher des avis de type post personnalisés, vous pouvez utiliser le crochet de filtre ‘Post_updated_Messages’. Ce crochet vous permet de personnaliser les messages de mise à jour pour tout type de publication. Vous pouvez ajouter une fonction à votre fichier functions.php qui vérifie le type de publication, puis définit le message approprié.

Comment puis-je associer une taxonomie personnalisée à un type de message personnalisé?

Une taxonomie personnalisée avec la fonction register_taxonomy (), vous pouvez spécifier les types de publication auxquels cette taxonomie doit être associée. Cela se fait en passant un tableau de noms de types de post comme deuxième paramètre à la fonction.

Quel est le crochet 'post_update_messages dans WordPress?

Le crochet' post_updated_messages dans WordPress vous permet Pour personnaliser les messages affichés lorsqu'un message est mis à jour. Cela peut être particulièrement utile pour les types de publication personnalisés, où vous voudrez peut-être afficher un message différent de la valeur par défaut.

Comment puis-je utiliser la fonction 'Get_Post_Type' dans WordPress?

La 'Get_Post_Type «La fonction dans WordPress est utilisée pour récupérer le type de poste du poste actuel ou d'un message donné. Il renvoie une chaîne sur le succès et FALSE en échec. Cette fonction peut être utile lorsque vous devez effectuer des actions en fonction du type de message.

Comment puis-je ajouter des champs personnalisés à un type de message personnalisé dans WordPress?

Les champs personnalisés peuvent être ajoutés à un Post personnalisé Tapez WordPress en utilisant la fonction 'add_meta_box'. Cette fonction vous permet d'ajouter une nouvelle méta-boîte à l'écran d'édition de publication, où vous pouvez saisir des informations supplémentaires pour le message.

Comment puis-je afficher les types de publication personnalisés sur la première page de mon site?

Pour afficher les types de publication personnalisés sur la première page de votre site, vous pouvez modifier la requête principale utilisée par WordPress pour afficher les messages. Cela peut être fait en utilisant le crochet d'action 'pre_get_posts' et en définissant le paramètre 'post_type' au nom de votre type de message personnalisé.

Comment puis-je créer une taxonomie personnalisée spécifique à un type de message personnalisé?

Lors de l'enregistrement d'une taxonomie personnalisée avec la fonction register_taxonomy (), vous pouvez spécifier les types de publication auxquels cette taxonomie doit être associée. Cela se fait en passant un tableau de noms de types de post comme deuxième paramètre à la fonction.

Comment puis-je utiliser le crochet d'action 'Save_Post' dans WordPress?

Le crochet d'action 'Save_Post' dans WordPress est déclenché chaque fois qu'un message ou une page est créé ou mis à jour. Il peut être utilisé pour effectuer des actions telles que la sauvegarde des métadonnées post-post, l'envoi de notifications ou d'autres tâches qui devraient se produire après l'enregistrement d'un message.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn