


Plugins personnalisés : un guide complet des taxonomies WordPress pour les débutants
Dans cette série, nous avons examiné les taxonomies WordPress : ce qu'elles sont, comment elles fonctionnent, comment distinguer les différents types qui existent et comment elles sont stockées dans la base de données sous-jacente. p>
La seule chose que nous devons faire est d'assembler un plugin qui montre comment utiliser l'API pour implémenter nos propres taxonomies personnalisées. C’est donc exactement cela que nous ferons dans cet article.
Rappelez-vous le premier article de cette série :
Classification est l'un de ces mots dont la plupart des gens n'ont jamais entendu parler ou utilisé. Fondamentalement, une taxonomie est une façon de regrouper des éléments.
Tout au long de cette série, nous avons utilisé la photographie et la vidéographie comme exemples de classification. Par conséquent, pour le plugin que nous allons construire, nous inclurons des taxonomies hiérarchiques et non hiérarchiques liées à ces deux classifications.
- La taxonomie en couches comprendra les taxonomies de base de Photos et Vidéos.
- Une classification non hiérarchique sera utilisée pour préciser le type de film utilisé. Cela peut être noir et blanc, couleur, sépia ou n'importe quelle couleur que vous souhaitez spécifier.
Enfin, le plugin fonctionnera avec les types de publication standard existants fournis avec WordPress. Cela devrait offrir la plus grande flexibilité en ce qui concerne la création du plugin, la démonstration du concept et son utilisation dans votre propre installation.
Ma taxonomie personnalisée
Pour les besoins de l'exemple de plugin, nous l'appellerons My Custom Taxonomy, et nous le construirons selon les étapes suivantes :
- Nous préparerons le fichier principal du plugin avec le texte de titre correct nécessaire pour afficher le plugin dans votre tableau de bord WordPress.
- Nous configurerons le code requis pour exécuter le plugin principal.
- Nous écrirons du code pour introduire les catégories photos et vidéos.
- Nous écrirons du code pour présenter la taxonomie des genres de films.
- Ensuite, nous testerons le plugin complet.
1. En-tête du plug-in
Avant de faire autre chose, faites wp-content/plugins
中创建一个名为 my-custom-taxonomies
的目录,并引入一个名为 我的自定义分类法.php
.
Ajoutez le bloc de commentaire de code suivant au fichier :
<?php /** * My Custom Taxonomies * * Demonstrates how to create custom taxonomies using the WordPress API. * Showcases both hierarchical and non-hierarchical taxonomies. * * @link https://code.tutsplus.com/series/the-beginners-guide-to-wordpress-taxonomies--cms-706 * @since 1.0.0 * @package Custom_Taxonomies * * @wordpress-plugin * Plugin Name: My Custom Taxonomies * Plugin URI: http://example.com/plugin-name-uri/ * Description: Demonstrates how to create custom taxonomies using the WordPress API. * Version: 1.0.0 * Author: Tom McFarlin * Author URI: http://tommcfarlin.com/ * License: GPL-2.0+ * License URI: http://www.gnu.org/licenses/gpl-2.0.txt */
À ce stade, vous devriez pouvoir vous connecter à votre tableau de bord WordPress, afficher le nom du plugin et l'activer. Bien sûr, rien ne se passera réellement car nous n’avons encore rien fait sur le code source.
Ensuite, nous devons créer un autre fichier pour alimenter réellement le plugin. Celui-ci sera basé sur des principes de programmation orientée objet, nous allons donc créer un fichier appelé class-my-custom-taxonomies.php
.
Ne vous inquiétez pas encore de le remplir avec un code source. Revenons à my-custom-taxonomies.php
et ajoutons une condition pour garantir que les fichiers principaux du plugin ne peuvent pas être exécutés en dehors de l'environnement WordPress.
<?php // If this file is called directly, abort. if ( ! defined( 'WPINC' ) ) { die; }
Placez-le directement sous le commentaire de code que nous avons fourni ci-dessus.
2. Exécuter le plugin principal
À ce stade, nous sommes prêts à écrire le code qui pilote réellement le plugin. Définissons donc une classe et une fonction de base pour l'initialisation :
<?php /** * The core plugin class file * * Defines the functions necessary to register our custom taxonomies with * WordPress. * * @link http://code.tutsplus.com/series/the-beginners-guide-to-wordpress-taxonomies--cms-706 * @since 1.0.0 * * @package Custom_Taxonomies * @author Tom McFarlin <tom@tommcfarlin.com> */ class My_Custom_Taxonomies { /** * Initializes the plugin by registering the hooks necessary * for creating our custom taxonomies within WordPress. * * @since 1.0.0 */ public function init() { } }
Après cela, revenons à my-custom-taxonomies.php
et ajoutons du code pour inclure le fichier et une méthode pour créer une instance de la classe et l'exécuter : p>
<?php /** Loads the custom taxonomy class file. */ require_once( dirname( __FILE__ ) . '/class-my-custom-taxonomies.php' ); /** * Creates an instance of the My_Custom_Taxonomies class * and calls its initialization method. * * @since 1.0.0 */ function custom_taxonomies_run() { $custom_tax = new My_Custom_Taxonomies(); $custom_tax->init(); } custom_taxonomies_run();
Nous avons maintenant tout ce dont nous avons besoin pour commencer à configurer des hooks et des rappels afin de créer nos taxonomies personnalisées.
3. Présentation de Photos et Vidéo
À ce stade, nous sommes prêts à commencer à introduire notre taxonomie. Nous commençons par nous concentrer sur deux taxonomies hiérarchiques : Photos et Vidéos.
Dans le corps de classe du fichier class-my-custom-taxonomies.php
, ajoutez la fonction suivante :
<?php /** * Creates the Photographs taxonomy that appears on all Post dashboard * pages. * * @since 1.0.0 */ public function init_photographs() { $labels = array( 'name' => 'Photographs', 'singular_name' => 'Photograph', 'edit_item' => 'Edit Photograph', 'update_item' => 'Update Photograph', 'add_new_item' => 'Add New Photograph', 'menu_name' => 'Photographs' ); $args = array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array( 'slug' => 'photograph' ) ); register_taxonomy( 'photograph', 'post', $args ); }
Cette fonction est responsable de la création des catégories photos et sera appelée depuis la fonction init le cas échéant.
Maintenant, faisons la même chose avec la vidéo :
<?php /** * Creates the Videos taxonomy that appears on all Post dashboard * pages. * * @since 1.0.0 */ public function init_videos() { $labels = array( 'name' => 'Videos', 'singular_name' => 'Video', 'edit_item' => 'Edit Video', 'update_item' => 'Update Video', 'add_new_item' => 'Add New Video', 'menu_name' => 'Videos' ); $args = array( 'hierarchical' => false, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array( 'slug' => 'video' ) ); register_taxonomy( 'video', 'post', $args ); }
Appelons ces deux fonctions dans la fonction init. Nous faisons cela en enregistrant ces fonctions à l'aide du hook init
fourni par WordPress :
<?php public function init() { add_action( 'init', array( $this, 'init_photographs' ) ); add_action( 'init', array( $this, 'init_videos' ) ); }
Ici, nous devrions pouvoir accéder à Ajouter un nouveau message et voir les nouvelles options de catégorie dans le tableau de bord. Sinon, vérifiez votre code par rapport au code partagé ci-dessus.
Maintenant que nous avons couvert notre taxonomie hiérarchique, passons à notre Types de vidéos – ou notre taxonomie non hiérarchique.
4。介绍影片类型
这实际上与我们到目前为止编写的代码没有太大不同。实际上,主要区别在于,我们不是将 hierarchical
指定为 true
,而是将其设置为 false
。
<?php /** * Creates the Film Type taxonomy that appears on all Post dashboard * pages. * * @since 1.0.0 */ public function init_film_type() { $labels = array( 'name' => 'Film Type', 'singular_name' => 'Film Type', 'edit_item' => 'Edit Film Type', 'update_item' => 'Update Film Type', 'add_new_item' => 'Add New Film Type', 'menu_name' => 'Film Type' ); $args = array( 'hierarchical' => false, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array( 'slug' => 'film-type' ) ); register_taxonomy( 'film-type', 'post', $args ); }
这将导致不同类型的用户界面元素,看起来更像标签,而不是您在上面看到的类别选项。
最后,将以下行与其余钩子一起添加到 init 方法中:
<?php add_action( 'init', array( $this, 'init_film_type' ) );
请注意,函数更像是分类标签。再次重申,这是分层分类法和非分层分类法的主要区别之一。
5。测试完整插件
现在我们准备好试用该插件了。假设您正确遵循了本教程中的所有内容,那么您应该能够创建新帖子,并使用照片类型或视频类型对其进行标记作为影片的一种类型,并在保存或更新您的帖子后保留更改。
如果没有,请根据此处引用的内容以及关联的 GitHub 存储库中引用的内容仔细检查您的代码。
结论
WordPress 分类法初学者指南到此结束。在整个系列中,我们广泛了解了分类法的定义、它们在 WordPress 中扮演的角色,甚至还实现了一些我们自己的分类法。
此时,您应该对这个概念以及如何将它们包含在您的下一个项目中有深入的了解。
如果没有,请随时在下面的字段中留下问题、评论或一般反馈。
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Alipay Php ...

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Le détournement de la session peut être réalisé via les étapes suivantes: 1. Obtenez l'ID de session, 2. Utilisez l'ID de session, 3. Gardez la session active. Les méthodes pour empêcher le détournement de la session en PHP incluent: 1. Utilisez la fonction Session_RegeReate_id () pour régénérer l'ID de session, 2. Stocker les données de session via la base de données, 3. Assurez-vous que toutes les données de session sont transmises via HTTPS.

L'application du principe solide dans le développement de PHP comprend: 1. Principe de responsabilité unique (SRP): Chaque classe n'est responsable d'une seule fonction. 2. Principe ouvert et ferme (OCP): les changements sont réalisés par extension plutôt que par modification. 3. Principe de substitution de Lisch (LSP): les sous-classes peuvent remplacer les classes de base sans affecter la précision du programme. 4. Principe d'isolement d'interface (ISP): utilisez des interfaces à grain fin pour éviter les dépendances et les méthodes inutilisées. 5. Principe d'inversion de dépendance (DIP): les modules élevés et de bas niveau reposent sur l'abstraction et sont mis en œuvre par injection de dépendance.

Comment déboguer le mode CLI dans phpstorm? Lors du développement avec PHPStorm, nous devons parfois déboguer PHP en mode interface de ligne de commande (CLI) ...

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système. Chaque fois que le système redémarre, nous devons exécuter la commande suivante pour modifier les autorisations d'UnixSocket: sudo ...

Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Envoyant des données JSON à l'aide de la bibliothèque Curl de PHP dans le développement de PHP, il est souvent nécessaire d'interagir avec les API externes. L'une des façons courantes consiste à utiliser la bibliothèque Curl pour envoyer le post� ...
