Bienvenue dans la quatrième partie de la série plugin Creation! Jusqu’à présent, nous avons utilisé les modèles de plugin wordpress pour construire la structure de l’esprit et créer un emplacement séparé pour notre contenu à l’arrière plan en enregistrant les types de messages personnalisés. Cette fois, nous offrons aux utilisateurs du plug in lrsquooption de voir réellement les devis entrés dans le système. Nous commencerons à travailler en intégrant des fonctionnalités pour gérer la sélection aléatoire des citations, puis nous continuerons à créer nos options de code court.
Au fur et à mesure que nous terminons cet épisode, nous devrions être en mesure drsquoinsérer du contenu selon nos préférences par lrsquointermédiaire de lrsquoadministrateur et de le voir facilement à lrsquoavant plan drsquoune manière familière à travers de nombreux autres plug ins. Nous commençons par obtenir les données qui nous intéressent. Accédez à notre devis après avoir essayé de stocker notre devis en utilisant un type de post personnalisé, la première chose que devez faire est de renvoyer les résultats uniquement à partir de cet ensemble de données. Une vue rapide des sections pertinentes du Manuel du plug in donne un bon aperçu du fonctionnement et fournit un code drsquoinstruction utile:
$args = array (lsquopost _ typersquo = gt lsquoproductrsquo, lsquoposts per pagersquo = gt 10)
$Loop = new wp u Query ($args)
While ($Loop gt have _ posts (): $Loop gt The Post ()
Titre ()
Echo
Contenu ()
Echo
Enfin, Comme indiqué ci dessus, nous utiliserons WP _ Query () pour récupérer les résultats et passer les paramètres qui définissent le type particulier de messages que nous cherchons et le nombre de résultats que nous retournons par page. Jusqursquoà présent, elle semble bonne en théorie, mais elle pose également deux problèmes urgents:
Comment vérifier rapidement son efficacité? Où le plug in Template WordPress est il inséré dans la configuration? Répondons à une question à la fois. Nous pouvons retourner le test de devis
Comme le document WP _ Query () hautement recommandé par Rachel mccollin et la série WP Query Mastering le soulignent, nous devons le tester en boucle. Nous nrsquoavons actuellement aucun contenu spécial sur notre site de test local, donc nous ajouterons du Code exploratoire au modèle de page drsquoaccueil du thème par défaut pour voir rapidement srsquoil fonctionne. Dans notre exemple, pouvez le trouver dans Themes twenty16 page. Php. Notre type de message personnalisé était auparavant défini comme une citation RDM, donc ce que nous faisons ci dessous est de récupérer ces messages et de les coller dans la liste à lrsquoécran.
$paramètre = tableau
« post _ type» = gt « RDM quote»
)
Requête personnalisée.
$QUERY = new wp u Query ($args)
Vérifiez les résultats de la requête.
($QUERY gt have _ posts ()) {
Echo
Démarrer la boucle des résultats de la requête.
While ($QUERY gt have _ posts ()) {
$QUERY gt The _ Post ()
? gt
-
lta href=quot
lsquo
}
Restaurer les données de poste originales.
WP _ Reset postdata () Nous avons inséré un grand nombre de guillemets fiables dans la section personnalisation de lrsquoadministration:
Selon le code ci dessus, nous aimerions voir leurs titres listés comme liens au bas de nrsquoimporte quelle page que nous vérifions à lrsquoavant. Jetons un coup d’œil aux exemples de pages fournis par WordPress http:www.randomquotes.devsample-page Oui. On dirait qursquoon a le potentiel de faire des affaires! Maintenant, nous voulons nous assurer que nous pouvons limiter la quantité de guillemets affichés et nous assurer qursquoils sont aléatoires. Vous devriez pouvoir le faire en ajoutant les deux paramètres suivants au Code précédent: $arguments = tableau
« post type» = gt « RDM quote»,
« nombre de publications par page» = gt 4,
« trier par» = gt « rand»
) Cliquez encore quelques fois sur notre exemple de page
Il est nécessaire de srsquoassurer que nous obtenons le bon nombre de résultats et que chaque résultat est différent: - Tout va bien! Maintenant, essayons de trouver où cette fonctionnalité devrait se trouver dans notre plug in. Ajoutez la récupération de devis aléatoires à notre plug in et lrsquooption principale drsquoaffichage de lrsquoutilisateur que nous allons essayer de résoudre au départ est la possibilité drsquoajouter simplement des guillemets à travers le Code court. Il semble qursquoil srsquoagisse essentiellement drsquoune chose destinée au public, donc nous allons examiner les dossiers publics dans le plug in. Comme dans lrsquoépisode précédent, nous avons obtenu quelques conseils pratiques drsquoimplémentation du plugin drsquoillustration pratique de Chris wilcoxson sur github, qui vaut la peine drsquoêtre vu si êtes intéressé.
Dans notre exemple, nous commencerons par ajouter une fonction simple et renverrons des guillemets aléatoires dans la classe publique principale sur public class my RDM citations public. PHP: * *
Renvoie un objet post avec des guillemets aléatoires
* *
Tableau Param $params tableau des param ètres optionnels
Quantité de devis à retourner
* *
Retourner lrsquoobjet a post
*
Fonction publique get _ RDM quotes ($argument) {
$return =
$paramètre = tableau
« post type» = gt « RDM quote»,
« posts _ per page» = gt $parameter,
« trier par» = gt « rand»
)
$QUERY = new wp u Query ($args)
(IS _ WP Error ($QUERY) {
$retour = lsquooups! No your post! »
Autres
$return = $QUERY gt publish
}
Retourner $retourner
} get _ RDM quotes () tout se passe bien, cela renvoie un objet Post et nous permet de spécifier le nombre de résultats à rechercher comme paramètre. Voyons comment lrsquoutiliser avec un code court.
lt?php
}
echo 039- Activez le Code court dans le plug in pour afficher rapidement le Guide du plug in pour enregistrer le Code court dans le plug in, pouvez voir que la base de lrsquoopération est relativement simple. Il faut verrouiller.
- Ajoutons quelques attributs pour voir si cela fonctionne aussi: Mise à jour rapide de la page, nous pouvons voir que ces propriétés fonctionnent bien: Nous pouvons résoudre beaucoup de problèmes ici, mais nous commencerons à le faire à ce stade avant drsquoentrer dans les détails. La prochaine fois, nous verrons bientôt comment modéliser quelque chose de mal en HTML de façon plus organisée. Encore une fois, si êtes intéressé à explorer une version plus complète de certains des concepts décrits ci dessus, une étude approfondie autour du plug in plus complet de Chris wilcoxson sur github est une bonne façon de le faire pendant cette période.
Conclusion: Nous avons terminé un cycle important dans cette émission et avons pu voir les résultats de notre travail à lrsquoécran. À ce stade, notre plug in le plus petit possible est actif et fonctionnel. Nous pouvons insérer du contenu personnalisé à partir de lrsquoarrière plan et lrsquoafficher librement sur lrsquoensemble du site en utilisant un code court avec des paramètres. Comme lors des phases précédentes, nous avons adopté une approche de base et laissé suffisamment de place à lrsquoamélioration tout au long du processus, mais nous avons fait de grands progrès depuis le début de cette série. Dans le prochain article, nous allons organiser quelques fils libres cette fois et créer quelques paramètres utilisateur pour le plug in à lrsquoarrière plan. Comme toujours, nous attendons avec intérêt les commentaires et les questions. avez des questions sur les voyages de cette série à ce jour, veuillez nous contacter par les commentaires ci dessous et partager vos idées! Image surlignée: bela67
Pour enregistrer le Code court dans init, pointez WordPress vers la fonction que nous utiliserons pour gérer le contenu. Dans notre configuration locale, cela signifie deux choses à faire. Tout drsquoabord, nous ajoutons une ligne de code simple à la méthode define _ public Hooks () dans includes class my RDM citations. PHP: * *
Documenter tous les liens liés aux fonctions propres au public
* plug in.
* *
* Dal 1.0.0
Accès privé
*
Fonction privée définir _ public Hooks () {
$plugin _ public = new my RDM quotes public ($this gt get plugin Name (), $this gt get version ()
$this gt loader gt add _ action (lsquoWP enqueue scriptsrsquo, $plugin public,rsquo enqueue style lsquo)
$this gt loader gt add _ action (lsquoWP enqueue scriptsrsquo, $plugin public,rsquo enqueue scriptsrsquo)
$this gt loader gt add _ action (lsquoinitrsquo, $plugin public, lsquoRegister shortcodersquo)
} maintenant, nous allons réellement entrer la classe publique principale sur public class my RDM citations public. PHP pour établir une connexion au Code court spécifique que nous allons configurer:
* *
Enregistrer tous les codes courts en même temps
* *
Retour à [type] [description]
*
Registre des fonctions publiques _ Short Code () {
Ajouter un raccourci (lsquoquote Randomrsquo, array (lsquothis,rsquo List _ quotesrsquo)
} Register _ shortcodes () comme le montre la documentation, il s’agit principalement de dire à WordPress le nom du Code court et la fonction spécifique que nous utiliserons pour l’exécuter. Passons à la question. OK, nous obtenons finalement les résultats sur la page en remplissant la fonction List _ quotes (): * *
Traitement des références aléatoires à Code court
* *
Parameter Array $ATTS Short Code Property
* *
* *
Mix renvoie $Output Buffer Output
*
Liste des fonctions publiques _ guillemets ($ATTS = array ()) {
Ob _ Start ()
$args = short Code _ ATTS (array$destinataire
)
$item = $this gt get RDM u Quotation ($args [lsquonum quotesrsquo)
Var _ dump ($item)
S)
(IS _ array ($items) | is Object ($items) {
Echo (lsquo) lsquo . $ Paramètre [lsquocitations titlersquo] lsquo lsquo)
Foreach ($item come $item) {
Echo (lsquo)
lsquo . $ Projet gt Post _ title.
} pour chaque
Eco (lsquo)
lsquo)
Autres
Echo $Project
}
$Output = Ob _ get Contents ()
Ob _ end Clean ()
Renvoie $output
} get _ RDM quotes () Nous ne gagnerons pas de prix de qualité de code ici, mais quelques cases clés ont été cochées ci dessus:
Nous pouvons récupérer la propriété shortcode en utilisant shortcode _ ATTS () et nous avons défini les valeurs par défaut pour le nombre de messages et de titres. nous avons besoin de vérifier rapidement les données réellement traitées, il y a aussi un appel rapide et sale var _ dump (). Nous connectons les données à la disposition HTML de base à afficher sur la page et utilisons le tampon de sortie pour éviter les problèmes potentiels drsquoaffichage frontal. Il y a certainement beaucoup de place pour lrsquoamélioration, mais voyons si nous pouvons obtenir des résultats en premier. Nous allons drsquoabord appeler notre raccourci de base dans un billet Standard:- En regardant la version en direct du billet, nous pouvons voir que les paramètres par défaut sont bien activés:
- Ajoutons quelques attributs pour voir si cela fonctionne aussi: Mise à jour rapide de la page, nous pouvons voir que ces propriétés fonctionnent bien: Nous pouvons résoudre beaucoup de problèmes ici, mais nous commencerons à le faire à ce stade avant drsquoentrer dans les détails. La prochaine fois, nous verrons bientôt comment modéliser quelque chose de mal en HTML de façon plus organisée. Encore une fois, si êtes intéressé à explorer une version plus complète de certains des concepts décrits ci dessus, une étude approfondie autour du plug in plus complet de Chris wilcoxson sur github est une bonne façon de le faire pendant cette période.