Astuce Améliorer les codes courts avec la fonction has_shortcode ()

Une des erreurs que beaucoup de développeurs font lors de la création de codes courts (dans les thèmes et les plugins) est toujours chargement de tous les scripts et styles. Pour des raisons d'efficacité et de prévention des conflits, les scripts et les styles doivent seulement être chargé quand ils sont nécessaires. C’est une fonction très pratique qui vous permettra d’effectuer toute action de votre choix, telle que le chargement de scripts et de styles, lorsque, et seulement quand, un article a un shortcode particulier.


Étape 1 Écrire la fonction

Les fonctions sont vraiment très simples. Tout ce que nous allons faire est de passer un code abrégé en tant que paramètre, puis de vérifier le contenu de la publication actuelle pour ce code abrégé.

Vous pouvez coller ce code dans votre functions.php ou votre propre fichier de plugin.

 // vérifie dans la publication en cours l'existence d'une fonction de code abrégé has_shortcode ($ shortcode = ") $ post_to_check = get_post (get_the_ID ()); // false car nous devons rechercher dans le contenu de la publication en premier $ found = false; // si aucun code abrégé n'a été fourni, renvoie false si (! $ shortcode) return $ trouvé; // vérifie le contenu du message pour le code court if (stripos ($ post_to_check-> post_content, '['. $ shortcode) ! == false) // nous avons trouvé le code court $ found = true; // renvoie nos résultats finaux return $ found;

La première chose que nous faisons est de passer un paramètre à la fonction appelée $ shortcode et nous l'avons mis en blanc. Nous obtenons ensuite l'objet de publication de la publication actuellement affichée. Pour cela, nous utilisons la fonction get_post () pour renvoyer l'objet post de l'ID donné, que nous obtenons avec get_the_ID (), à partir de la base de données. Une fois que nous avons stocké l'objet post dans une variable, $ post_to_check, nous pouvons rechercher dans son contenu le code abrégé spécifié

Après avoir récupéré l'objet post, nous définissons la $ trouvé variable à false, puis assurez-vous que $ shortcode paramètre n'est pas vide, et si c'est le cas, nous quittons la fonction en retournant le $ trouvé variable comme false.

Nous sommes maintenant prêts à rechercher dans le contenu de l'article le code abrégé souhaité. Nous faisons cela en utilisant la fonction stripos (). Cette fonction prend deux paramètres, la chaîne dans laquelle effectuer la recherche (le meule de foin) et la chaîne à rechercher (le avoir besoin). Dans le cas où notre pile de foin est le contenu de la publication, auquel on accède avec $ post_to_check-> post_content, et l'aiguille est le code abrégé que nous avons transmis à notre fonction personnalisée en tant que paramètre. Notez que nous avons laissé le "" "de fermeture du paramètre aiguille; ceci est dû au fait que nous devons prendre en compte les codes abrégés qui acceptent des paramètres et ne disposerons donc pas du crochet de fermeture immédiatement après le nom du code abrégé..

Si rayures () trouve le code court, nous définissons la $ trouvé variable à true et ensuite renvoyer nos résultats. Ça y est, notre fonction est complète.


Étape 2 Utiliser la fonction

Cette fonction peut être utilisée n’importe où dans vos modèles de thème (pas seulement dans la boucle) et est extrêmement utile pour le chargement sélectif de scripts et de styles..

Pour vérifier si la publication en cours a un code abrégé spécifique, vous pouvez utiliser la fonction suivante:

 if (has_shortcode ('your_short_code')) // effectue les actions ici

L'un des endroits les plus communs où vous utiliseriez cette fonction est dans votre header.php lors du chargement de styles et de scripts, comme ceci:

 if (has_shortcode ('contactform')) wp_enqueue_style ('contactfom', get_bloginfo ('template_directory'). 'includes / contactform.css'); wp_enqueue_script ('contactfom', get_bloginfo ('template_directory'). 'includes / contactform.js'); 

Conclusion:

Lorsque les plugins et les thèmes qui ne parviennent pas à utiliser de bonnes normes de codage sont si abondants, il est important que nous nous efforcions toujours de développer des normes de qualité élevées afin de pouvoir éviter autant que possible les conflits script / style. Une des façons de le faire est de ne charger que les scripts / styles de nos codes courts quand ils sont réellement nécessaires..

En savoir plus sur l'utilisation et la création de codes courts dans vos projets ici!