J'apprends les plugins et les shortcodes. J'ai remarqué que lorsque j'active mon plugin, son code est chargé sur toutes mes pages, même les pages qui n'ont pas mon shortcode. (Je ne parle pas de contenu par rapport aux pages d'administration). Sur certaines pages de contenu, j'utilise un shortcode particulier et sur d'autres pages de contenu, je ne - mais en tout cas, le code du plugin est chargé. Comment faire pour que le plugin soit inclus uniquement sur les pages où le shortcode est utilisé?
Plus de détails:
Disons que j'ai un plugin qui fait une lightbox. J'active le plugin. Sur ma page "Cool Images", j'utilise un shortcode pour créer une lightbox. Lorsque je vérifie Afficher la source sur ma page "À propos", qui n'utilise pas le shortcode lightbox, je vois que le code du plugin lightbox a été chargé. Mes pages se chargeront plus rapidement si j'écris mon plugin afin que son code ne soit chargé que sur les pages où il est nécessaire. Est-ce possible? Sinon, je vais avoir du code pour de nombreux plugins chargés inutilement sur les pages. Des idées?
la source
Réponses:
WP v3.3 nous a donné la possibilité d'exécuter wp_enqueue_script au milieu d'une page. Billet 9346
Cela a rendu beaucoup plus facile l'inclusion de votre JS avec une meilleure granularité (lors de l'utilisation de codes courts, au moins). Ici, jquery ne sera inclus que lorsque notre shortcode sera déclenché.
la source
Vérifiez les variables d'administration UI
Un élément de menu est un cas particulier: les commentaires, lorsqu'ils sont enregistrés à l'aide de l'
add_WHATEVER_(submenu)page()
API.Celles-ci sont non cohérentes et codées en dur dans le noyau wp. Notez que tous ne sont pas définis sur toutes les pages.
Accrochez-vous aux crochets d'interface utilisateur d'administration spécifiques à la page
Ensuite, il existe également des crochets spéciaux, spécifiques à la page, que vous pouvez consulter
admin-footer.php
etadmin-header.php
:Quelques exemples dans le monde réel: Post Screen
Ensuite,
$hook_suffix
vous pouvez également vérifier les scripts de mise en file d'attente, juste lorsque vous accrochez votre action:Mise à jour
Pour obtenir un accès plus facile (en un clic) à ces données / informations, nous avons créé un plug-in gratuit et convivial pour les développeurs nommé "(WCM) Current Admin Info" , qui est disponible sur GitHub . Le plugin peut également être trouvé dans un proche avenir dans le dépôt officiel de wp.org .
Captures d'écran
Pour donner un aperçu de ce que vous obtenez avec ce plugin:
la source
Pourrait faire quelque chose dans le sens de (dans le header.php):
Vérifie si la charge actuelle est une page ou une publication, puis saisit le contenu et recherche votre shortcode. En le trouvant, il exécute votre fonction.
la source
get_shortcode_regex()
?Le moyen le plus simple est de simplement vérifier le shortcode.
la source
get_shortcode_regex()
pour ça.@kaiser a noté
get_shortcode_regex()
plusieurs fois dans ce fil, je pensais juste donner un exemple sur la façon de l'utiliser. Le code est à peu près tiré de laget_shortcode_regex()
page de référence du code WordPress.la source
J'ai trouvé cette solution :
la source