recherche
MaisonTutoriel CMSWordPresseLe plugin WordPress Plugin Part 3: Les dernières étapes

Le plugin WordPress Plugin Part 3: Les dernières étapes

Les plats clés

  • La troisième partie de la série de buiscenles de plugin WordPress se concentre sur la mise en œuvre des fonctionnalités de la face du public du plugin, qui comprend la récupération des préférences des utilisateurs et l'affichage d'un avis en conséquence sur sa vue unique.
  • Le guide explique comment préparer le thème pour les tests, comment s'accrocher au filtre_content, comment modifier le contenu conditionnellement, et comment calculer la différence des jours entre l'heure actuelle et le dernier heure modifiée.
  • Styling Le texte du préavis est également discuté, l'auteur fournissant un guide de style simple pour correspondre à la conception globale du thème. L'auteur suggère également des améliorations potentielles, telles que le texte dynamique pour différents contextes et un préavis licenciable.
  • L'auteur conclut en mettant en évidence les avantages de la buissier debout du plugin WordPress, notant sa structure claire, l'adhésion aux meilleures pratiques et l'aspect économe en temps d'avoir un point de départ solide pour le développement du plugin.

Dans la deuxième partie de cette série, nous avons préparé des fonctionnalités simples d'administration pour notre plugin. Nous avons fourni aux utilisateurs une page d'options où ils peuvent modifier le plugin en fonction de leurs préférences.

Si vous avez manqué les parties 1 et 2, veuillez les trouver ci-dessous:

  • Le plugin WordPress Plugin Part 1: accélérer le développement à l'aide de la baillire de plugin WordPress
  • Le plugin wordpress Pileplate Part 2: Développer un plugin WordPress

Pour cet article, nous allons implémenter les fonctionnalités du public du plugin. Cela signifie que nous allons récupérer les préférences de l'utilisateur, déterminer si ce message spécifique est dépassé ou non et afficher l'avis en conséquence sur sa vue unique. Commençons!

Préparer le thème

Nous devons préparer notre thème afin que nous puissions le tester plus tard. Nous allons utiliser le thème Twenty Fifteen qui est expédié par défaut avec WordPress. Plutôt que de remplir les messages manuellement, nous allons utiliser les données de test d'unité de thème fournies par l'équipe de révision du thème pour remplir les messages.

Nous devons télécharger le thème-unit-test-data.xml fourni sur la page Codex ci-dessus et l'importer dans notre installation WordPress. La fonctionnalité d'importation intégrée WordPress peut être trouvée en naviguant vers des outils> Importation de la barre latérale.

Le plugin WordPress Plugin Part 3: Les dernières étapes

Nous serons présentés avec divers choix, et comme nous importons le fichier d'exportation WordPress, nous allons choisir WordPress. Selon l'installation de WordPress, une fenêtre de plugin sera affichée si nous n'avons pas installé le plugin WordPress Importateur. Allez-y simplement et installez d'abord le plugin si vous ne l'avez pas et nous procéderons avec le processus d'importation réel une fois qu'il est fait.

Le plugin WordPress Plugin Part 3: Les dernières étapes

Il s'agit de la page d'importation WordPress par défaut, nous devrons donc choisir le thème-unité-test-data.xml téléchargé précédemment et cliquez sur le bouton "Télécharger le fichier et l'importation".

Le plugin WordPress Plugin Part 3: Les dernières étapes

Un deuxième écran sera alors présenté. Ne vous inquiétez pas beaucoup de la section «Assign les auteurs» car nous pouvons le laisser par défaut. Dans la section «Importer les pièces jointes», assurez-vous de cocher la case à cocher «Télécharger et importer des pièces jointes» afin que toutes les pièces jointes externes soient téléchargées et importées dans la bibliothèque de médias.

Appuyez sur le bouton «Soumettre» et attendez que le processus d'importation se soit effectué avec succès.

Maintenant, nous sommes prêts à écrire le code qui affiche notre avis.

accrochez-vous au filtre_content

L'utilisation du filtre_content est le moyen idéal pour modifier le contenu des articles affichés à l'utilisateur. Selon le didacticiel précédent, nous allons ajouter le crochet au chargeur de classe de la bailli, la seule différence étant que la méthode Define_public_hooks sera utilisée au lieu de Define_Admin_Hooks.

Ajoutez cette ligne de code dans la méthode:

<span>$this->loader->add_action( 'the_content', $plugin_public, 'the_content' );</span>

Cela signifie que nous devrons implémenter une méthode publique THE_CONTENT dans notre classe OUTDATED_NOTICE_PUBLIC. Ouvrez public / classe-ex-éteinte

Modification conditionnelle du contenu

Parce que le filtre THE_CONTENT est utilisé par divers plugins et le noyau interne WordPress, nous devons être prudents pour y insérer notre contenu personnalisé.

Nous devons nous assurer que nous n'inservons le texte de l'avis obsolète que chaque fois qu'un seul article est affiché, et non sur l'index de l'article de blog. Pour ce faire, nous pouvons le filtrer en utilisant la fonction is_main_query. Cette fonction est utile chaque fois que nous avons besoin de déterminer si la requête en cours d'exécution est la requête principale ou secondaire / personnalisée.

Une autre chose que nous devons considérer est que nous allons seulement afficher le texte de préavis pour une seule vue de la publication de post, donc la validation est_singular ('post') sera parfaite pour le travail.

Il s'agit de la méthode THE_CONTENT mise à jour contenue à l'intérieur de la classe Outdated_notice_Public.

<span>public function the_content( $post_content ) {
</span>
		<span>if ( is_main_query() && is_singular('post') ) {
</span>			<span>// do something
</span>		<span>}
</span>
        <span>return $post_content;
</span>	<span>}</span>
Calcul de la différence de jours

Avant de commencer, définissons notre position pour que l'avis apparaisse comme «avant» le message, et le seuil de jours à 30.

Tout d'abord, nous devons récupérer les paramètres stockés de notre plugin. La fonction get_option fera le travail, et en toute sécurité, nous allons passer une valeur par défaut en tant que deuxième argument pour get_option.

<span>$this->loader->add_action( 'the_content', $plugin_public, 'the_content' );</span>

Pour calculer la différence des jours entre l'heure actuelle et le dernier temps modifié, nous allons instancier deux objets DateTime. Nous pouvons obtenir une mesure précise de la différence de temps en utilisant la méthode Diff intégrée à la classe DateTime. Notez que la classe DateTime n'est disponible que sur php> = 5.3.0.

<span>public function the_content( $post_content ) {
</span>
		<span>if ( is_main_query() && is_singular('post') ) {
</span>			<span>// do something
</span>		<span>}
</span>
        <span>return $post_content;
</span>	<span>}</span>

$ date_diff est une instance de la classe DateInterval, nous allons donc avoir une gamme de données disponibles en ce qui concerne les différences de temps. Si nous sommes à var_dump la variable $ date_diff, c'est ce que nous devons obtenir, selon le message que vous consultez actuellement.

<span>$position  = get_option( 'outdated_notice_position', 'before' );
</span>	<span>$days      = (int) get_option( 'outdated_notice_day', 0 );</span>

Nous ne sommes intéressés que par la valeur des jours car il sera utilisé comme comparaison avec notre seuil de jour. Comme je l'ai déjà dit, nous allons les comparer afin que nous puissions appliquer la classe spécifique à notre élément div de préavis pour le coiffer différemment entre les messages.

<span>$date_now  = new DateTime( current_time('mysql') );
</span>	<span>$date_old  = new DateTime( get_the_modified_time('Y-m-d H:i:s') );
</span>	<span>$date_diff = $date_old->diff( $date_now );</span>

Ce bloc de comparaison simple est suffisant pour déterminer la classe à utiliser pour notre div. La seule chose qui reste maintenant est de construire réellement le HTML à ajouter au contenu du post.

Pour un meilleur texte prêt à la traduction, nous allons utiliser la fonction _n pour choisir sélectivement le texte approprié à utiliser en fonction du nombre de jours depuis la dernière mise à jour de la publication. Ensuite, nous allons envelopper le texte de l'avis dans son propre div afin que nous puissions le coiffer plus tard. N'hésitez pas à modifier le texte de l'avis à votre propre goût.

<span>object(DateInterval)#286 (8) {
</span>	  <span>["y"]=>
</span>	  <span>int(0)
</span>	  <span>["m"]=>
</span>	  <span>int(0)
</span>	  <span>["d"]=>
</span>	  <span>int(12)
</span>	  <span>["h"]=>
</span>	  <span>int(23)
</span>	  <span>["i"]=>
</span>	  <span>int(17)
</span>	  <span>["s"]=>
</span>	  <span>int(22)
</span>	  <span>["invert"]=>
</span>	  <span>int(0)
</span>	  <span>["days"]=>
</span>	  <span>int(12)
</span>	<span>}</span>

La variable de préavis $ devrait désormais contenir le balisage que nous allons insérer dans notre contenu de publication. La seule chose à faire est de l'ajouter.

<span>if ( $date_diff->days > $days ) {
</span>		<span>$class = 'is-outdated';
</span>	<span>} else {
</span>		<span>$class = 'is-fresh';
</span>	<span>}</span>

En tant que récapitulatif, c'est à quoi la méthode du_content à l'intérieur outdated_notice_public devrait enfin regarder.

<span>// Filter the text
</span>	<span>$notice = sprintf(
</span>				<span>_n(
</span>					<span>'This post was last updated %s day ago.',
</span>					<span>'This post was last updated %s days ago.',
</span>					<span>$date_diff->days,
</span>					<span>'outdated-notice'
</span>				<span>),
</span>				<span>$date_diff->days
</span>			<span>);
</span>
	<span>// Add the class
</span>	<span>$notice = '<div>' . $notice . '</div>';
</span>	<span>$notice = sprintf( $notice, $class );</span>

Essayez de parcourir quelques pages pour voir si notre plugin fonctionne comme prévu. C'est ce que je vois lorsque je parcoure le message "Hello World" sur URL / 2015/05/11 / Hello-World /.

Le plugin WordPress Plugin Part 3: Les dernières étapes

Styler le texte de préavis

Nous allons appliquer un style simple à la div. Pour ce faire, nous n'allons rien changer en ce qui concerne la taille de la police ou la famille qui est déjà utilisée. De plus, nous allons emprunter la palette de couleurs et le style pour le moment.

Ouvrez le fichier de notes-Public.css obsolèce obsolète contenu dans le dossier public / CSS et ajoutez cette règle.

<span>if ( 'after' == $position ) {
</span>		<span>$post_content .= $notice;
</span>	<span>} else {
</span>		<span>$post_content = $notice . $post_content;
</span>	<span>}</span>

Nous avons également besoin de deux styles différents pour représenter la post-fraîcheur, qui est un style pour .is-fresh et un autre pour. Est-il exposé. Cet extrait devrait faire l'affaire, nous donnant une belle palette de couleurs verte pour un message frais et une palette de couleurs rouge pour un message obsolète.

<span>public function the_content( $post_content ) {
</span>
		<span>if ( is_main_query() && is_singular('post') ) {
</span>			<span>$position  = get_option( 'outdated_notice_position', 'before' );
</span>			<span>$days      = (int) get_option( 'outdated_notice_day', 0 );
</span>			<span>$date_now  = new DateTime( current_time('mysql') );
</span>			<span>$date_old  = new DateTime( get_the_modified_time('Y-m-d H:i:s') );
</span>			<span>$date_diff = $date_old->diff( $date_now );
</span>
			<span>if ( $date_diff->days > $days ) {
</span>				<span>$class = 'is-outdated';
</span>			<span>} else {
</span>				<span>$class = 'is-fresh';
</span>			<span>}
</span>
			<span>// Filter the text
</span>			<span>$notice = sprintf(
</span>						<span>_n(
</span>							<span>'This post was last updated %s day ago.',
</span>							<span>'This post was last updated %s days ago.',
</span>							<span>$date_diff->days,
</span>							<span>'outdated-notice'
</span>						<span>),
</span>						<span>$date_diff->days
</span>					<span>);
</span>
			<span>// Add the class
</span>			<span>$notice = '<div>' . $notice . '</div>';
</span>			<span>$notice = sprintf( $notice, $class );
</span>
			<span>if ( 'after' == $position ) {
</span>				<span>$post_content .= $notice;
</span>			<span>} else {
</span>				<span>$post_content = $notice . $post_content;
</span>			<span>}
</span>		<span>}
</span>
        <span>return $post_content;
</span>	<span>}</span>

Refreint la vue de la publication et voyons comment elle est stylée. Exemples d'un post frais et obsolète:

Le plugin WordPress Plugin Part 3: Les dernières étapes Le plugin WordPress Plugin Part 3: Les dernières étapes

c'est tout! Nous avons maintenant notre plugin entièrement fonctionnel développé en fonction de la bailli-plaque de plugin WordPress.

Améliorations

Il y a diverses choses qui peuvent être améliorées en fonction de ce que nous avons fait jusqu'à présent. Parmi eux se trouvent:

  • Texte dynamique pour différents contextes, où nous pouvons utiliser un texte différent pour l'avis obsolète.
  • Supprimez le script de mise en œuvre du script de note-notice.js car il n'est pas utilisé.
  • Avis licenciable afin qu'il n'interrompt pas l'expérience utilisateur lors de la lecture du message.

Conclusion

La bailLotplate de plugin WordPress offre un point de départ parfait pour développer n'importe quel plugin à partir de zéro. Dans cette dernière partie de la série, nous avons terminé en développant les fonctionnalités de notre plugin. Les modifications bien que assez simples sont effectuées en peu de temps, tout en maintenant le modèle OOP établi par la passerelle elle-même et adhérant aux normes et aux meilleures pratiques.

Une copie complète du code est disponible comme d'habitude chez GitHub sur la branche de la partie-3.

Questions fréquemment posées (FAQ) sur WordPress Plugin Playplate

Quelle est la baillire de plugin WordPress et pourquoi est-elle importante?

La bailler de plugin WordPress est une base standardisée, organisée et orientée objet pour construire des plugins WordPress de haute qualité. Il fournit une structure claire et cohérente facile à comprendre et à travailler avec, en particulier pour les développeurs qui sont nouveaux dans le développement des plugins WordPress. C'est important car il permet d'économiser du temps et des efforts en fournissant un point de départ solide, en réduisant la nécessité d'écrire du code commun à partir de zéro. Il promeut également les meilleures pratiques dans le codage, l'amélioration des performances, la sécurité et la maintenabilité de vos plugins.

Comment puis-je commencer à utiliser le buisaule de plugin WordPress?

Pour commencer à utiliser le boitrage de plugin WordPress, Vous devez d'abord le télécharger à partir de son référentiel GitHub. Une fois téléchargé, vous pouvez renommer le répertoire et les fichiers de la passerelle pour correspondre aux spécificités de votre plugin. Le code de la passe-partout est bien vendu, vous guidant sur où placer votre code personnalisé. N'oubliez pas de mettre à jour les en-têtes de plugin dans le fichier de plugin principal pour refléter les détails de votre plugin.

Puis-je utiliser la plaque bassette du plugin WordPress pour les projets commerciaux?

Oui, la buisaule du plugin WordPress est une ligne ouverte et sous licence sous le GPL, ce qui signifie que vous pouvez l'utiliser pour des projets personnels et commerciaux. Cependant, c'est une bonne pratique de reconnaître la passerelle dans la documentation ou les crédits de votre plugin.

Comment puis-je contribuer au projet de buissier debout WordPress?

La bailler à plugin WordPress est un projet axé sur la communauté, et les contributions sont toujours les bienvenues. Vous pouvez contribuer en signalant des bogues, en suggérant des améliorations ou en soumettant des demandes de traction sur son référentiel GitHub. Avant de contribuer, assurez-vous de lire et de comprendre les directives de contribution du projet.

Quelle est la structure de la plaque de buissier de plugin WordPress?

La plaque de chauffeur du plugin WordPress suit une structure spécifique conçue pour garder votre code organisé organisé et gérable. Il se compose de trois répertoires principaux: «administrateur», «comprend» et «public». Le répertoire «Admin» contient les fichiers CSS, JavaScript et PHP pour le côté spécifique de l'administrateur du plugin. Le répertoire «incluse» est utilisé pour définir la classe de plugin de base et d'autres fonctions partagées. Le répertoire «public» contient les fichiers pour le côté public du plugin.

Comment ajouter une nouvelle fonctionnalité à mon plugin à l'aide du boiseries de plugin WordPress?

Pour ajouter un nouveau fonctionnalité à votre plugin, vous créeriez généralement une nouvelle classe pour cette fonctionnalité dans le répertoire «inclue». Cette classe doit définir tous les crochets que votre fonctionnalité doit exécuter. Ensuite, vous instanciez cette classe dans la classe de plugin principale et l'ajoutez à la fonction «Exécuter». Cette approche modulaire facilite l'ajouter, la suppression ou la modification des fonctionnalités de votre plugin.

Comment gérer les options de plugin avec le buisaule de plugin WordPress?

La baillon de plugin WordPress fournit une classe pour Gestion des options de plugin dans le répertoire «administrateur». Cette classe comprend des fonctions pour l'enregistrement des paramètres, la définition de sections et de champs et de rendre la page des paramètres. Vous pouvez prolonger cette classe pour gérer les options spécifiques de votre plugin.

Comment puis-je internationaliser mon plugin avec le buisaule de plugin WordPress?

Le bobinage du plugin WordPress comprend une classe d'internationalisation dans le 'incluse' annuaire. Cette classe charge le domaine texte de votre plugin, ce qui lui permet de traduire dans d'autres langues. Il vous suffit de remplacer le domaine texte du placement d'espace réservé dans la buissier debout par le domaine de texte de votre plugin.

Comment puis-je enterrer les scripts et les styles avec le bobinage de plugin WordPress?

La boileuse à plugin WordPress fournit une conduite séparée de classes de classes distinctes? pour enterrer les scripts et les styles dans les répertoires «administra» et «public». Ces classes incluent des fonctions pour l'enregistrement et la mise en œuvre de vos scripts et styles, en s'assurant qu'ils sont chargés au bon endroit et au bon moment.

Comment désinstaller mon plugin proprement avec la baillire de plugin WordPress?

La baillon de plugin WordPress comprend un fichier de désinstallation.php qui est exécuté lorsque votre plugin est désinstallé à partir du tableau de bord WordPress. Ce fichier doit contenir n'importe quel code de nettoyage, tel que la suppression des options de plugin ou des tables de base de données. Cela garantit que votre plugin ne laisse aucune trace en retard lorsqu'il est désinstallé.

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
WordPress nécessite-t-il des connaissances de codage à utiliser comme CMS?WordPress nécessite-t-il des connaissances de codage à utiliser comme CMS?Apr 30, 2025 am 12:03 AM

Vous n'avez pas besoin de connaissances en programmation pour utiliser WordPress, mais la maîtrise de la programmation peut améliorer l'expérience. 1) Utilisez CSS et HTML pour ajuster le style de thème. 2) Les connaissances PHP peuvent modifier les fichiers de rubrique et ajouter des fonctions. 3) Les plug-ins personnalisés et les balises de méta peuvent optimiser le référencement. 4) Faites attention à la sauvegarde et à l'utilisation des sous-thèmes pour éviter les problèmes de mise à jour.

Quelles sont les considérations de sécurité lors de l'utilisation de WordPress?Quelles sont les considérations de sécurité lors de l'utilisation de WordPress?Apr 29, 2025 am 12:01 AM

ToseCureAwordPressSite, suivez les personnes

Comment WordPress se compare-t-il aux autres constructeurs de sites Web?Comment WordPress se compare-t-il aux autres constructeurs de sites Web?Apr 28, 2025 am 12:04 AM

WordPressExcelSoverotherwebsiteBuildersDuetOitsFlexibility, Svalible, andOpen-Sourcenatur.1) It'saversatilecmswitHExtensiveCustomationOptionsViathemeSandPlugins.2)

5 plugins WordPress pour les développeurs à utiliser en 20255 plugins WordPress pour les développeurs à utiliser en 2025Apr 27, 2025 am 08:25 AM

Sept plugins WordPress incontournables pour le développement de sites Web 2025 La construction d'un site Web WordPress de haut niveau en 2025 exige la vitesse, la réactivité et l'évolutivité. La réalisation de cela dépend efficacement souvent de la sélection stratégique des plugins. Cet article Highlig

Pour quoi utiliseriez-vous WordPress?Pour quoi utiliseriez-vous WordPress?Apr 27, 2025 am 12:14 AM

WordPressCanBeUsedForvariousPurposesBeyondBlogging.1) e-commerce: avec Woocommerce, ItCanBeComeAfonLonnestore.2) Adhésion: PluginslikeMemberpressSenableExClusiveContentareas.3) Portfoliosites: ThemeSlikeasTraallowstunninglay

WordPress est-il bon pour créer un site Web de portfolio?WordPress est-il bon pour créer un site Web de portfolio?Apr 26, 2025 am 12:05 AM

Yes,WordPressisexcellentforcreatingaportfoliowebsite.1)Itoffersnumerousportfolio-specificthemeslike'Astra'foreasycustomization.2)Pluginssuchas'Elementor'enableintuitivedesign,thoughtoomanycanslowthesite.3)SEOisenhancedwithtoolslike'YoastSEO',boosting

Quels sont les avantages de l'utilisation de WordPress sur le codage d'un site Web à partir de zéro?Quels sont les avantages de l'utilisation de WordPress sur le codage d'un site Web à partir de zéro?Apr 25, 2025 am 12:16 AM

WordpressisadvantageousovercodingawebsitefromscratchDueto: 1) facilitésofuseandfasterdevelopment, 2) flexibilité et échec, 3) Communie solide.

Qu'est-ce qui fait de WordPress un système de gestion de contenu?Qu'est-ce qui fait de WordPress un système de gestion de contenu?Apr 24, 2025 pm 05:25 PM

WordPressisacmsDuetOtsEaseOfuse, personnalisation, usermanagement, référencement, et CommunitySupport.1)

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

SublimeText3 version Mac

SublimeText3 version Mac

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

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.