Maison >Tutoriel CMS >WordPresse >Types de publication personnalisés WordPress - Avis et taxonomies
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é.
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.
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.
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.
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.
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.
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 ().
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é.
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.
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.
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.
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.
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é.
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.
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!