Un bon designer thème devrait éviter d'avoir à se fonde sur des plugins tiers. Plugin est désactivé
Malheureusement, certains thèmes de WordPress, il a une "attente de maux de tête" pour les dépendances de ventilation sydrome plugin. En raison de cette non-friendly tendances merde il est tenu de se produire lorsque le plugin n'est pas de maintenir correctement ou sur certains cas d'un coup, de rendre la mise à jour WordPress plugin inutile (ce qui arrive quand un précédent communiqué WP 2.3). Pour en faire le pire des ignorants-utilisateur final de décider "de ne pas" mettre à niveau leur blog WordPress parce que leur choix du thème a ce plug-ins qui ne fonctionne qu'avec la version précédente vulnérabilité WordPress et donc le prix de guerre sans fin commence.
Thème Plugin de dépendances
De l'écrasement des listes de "10 Frais, élégant, propre et Wordpress Themes" il est de 3 sur 10 thèmes avec des plugins dépendances question. Ce trio est un thème connu designer. Combien de plugin wordpress thème avec les dépendances est là?
Alors, quel est le point d'avoir propre et élégant thème si elle ne fait pas fonctionner correctement et de lancer "Fatal Error" lorsque certains plugin est désactivé.
Question similaire
Avant de vous demander pourquoi vous avez besoin pour mieux écrire sur le support des plugins lire les articles suivants au WTC.
- Plugin Deactivation questions par Ronald Huereca
- Si Plugin Deactivation Breaks Votre Blog par Jeff Chandler Jeffro2pt0.
Introduction
Ce guide a l'intention de WordPress thème designer dans l'espoir d'améliorer la qualité de thème et d'éviter plugin dépendances.
Wordpress Hook
Comme il s'agit d'un "guide" pour Je ne vais pas couvrir ce vaste sujet. Il faudra peut-être parfois à comprendre le concept encore sa valeur temps. Vous pouvez lire à WordPress Codex ↓
Évitez Plugin dépendances guide des meilleures pratiques
Supposons que vous souhaitez ajouter Lester Chan avancée pagination plugin (Wp-pagenavi) dans votre thème.
Fallback fonction
1) Tout d'abord, nous avons créé une fonction par défaut pour la page de liens de navigation (les liens et la page précédente). Enregistré à l'intérieur functions.php de votre thème dossier / wp-content/themes/mytheme /.
functions.php
wpi_post_link fonction () ( next_posts_link (__('« Older Entries', 'mytheme-name')); echo ''; previous_posts_link (__(' Newer Entries » ',' mytheme-name ')); )
Conseils: Pour éviter de multiplier les conflits de nom de fonction, c'est une bonne pratique de disposer de son propre préfixe unique pour le nom de fonction, (c'est-à-dire, wpi_get_time, themename_foo)
HTML & Action Hook Placement
2) Ensuite, nous ajoutons notre pagination crochet (wpi_pagination) à l'intérieur index.php modèles (et des fichiers modèles c'est-à-dire, home.php, category.php, archive.php).
index.php
<! - Pagination -> <div id="pagination" class="border clear-both"> <? php do_action ( 'wpi_pagination');?> </ div>
Exemple d'utilisation par défaut (kubrick) wordpress thème index.php fichiers modèles.
(kubrick) index.php
<? php get_header ();?> <div id="content" class="narrowcolumn"> <? php if (have_posts ()):> <? php while (have_posts ()): the_post ();?> <div class = "post" id = "post-<? php the_ID ();?>"> <h2> <a href = "<? php the_permalink ()?>" rel = "bookmark" title = "Permanent Link to <? php the_title_attribute (); ?>"><? php the_title ();?> </ a> </ h2> <small> <? php the_time ( 'F JS, Y')> <! - par <? php the_author ()?> --></ small> <div class="entry"> <? php the_content ( 'Lire le reste de cet article »');?> </ div> <p class="postmetadata"> <? php the_tags ( 'Mots clés:', ',', '<br />');?> Publié dans <? php the_category ( ',')?> | <? php edit_post_link ( 'Edit','', '|');?> <? php comments_popup_link ( «Pas de commentaire» ','1 Comment »', '% Comments»');?> </ p> </ div> <? php endwhile;?> <! - Pagination -> <div id="pagination" class="border clear-both"> <? php do_action ( 'wpi_pagination');?> </ div> <? php else:?> <h2 class="center"> Not Found </ h2> <p class="center"> Désolé, mais vous cherchez quelque chose qui n'est pas ici. </ p> <? php include (TEMPLATEPATH ". / searchform.php");?> <? php endif;?> </ div> <? php get_sidebar ();?> <? php get_footer ();?>
plugin est actif (en option)
3) Pour une version antérieure de WordPress (version 2.3.x et ci-dessous), vous devez ajouter la fonction suivante.
functions.php
if (version_compare ($ GLOBALS [ 'wp_version'],'2 .5 ',' lt ')) ( fonction is_plugin_active ($ plugin_filename) ( $ plugins = get_option ( 'active_plugins'); if (! is_array ($ plugins)) settype ($ plugins, 'array'); return (in_array ($ plugin_filename, $ plugins)); ) )
Inscrivez-action Hook
4) Ouvrir votre wp-content/themes/mytheme/functions.php et ajouter le code ci-dessous.
functions.php
add_action ( 'wpi_pagination », (Is_plugin_active ( 'wp-pagenavi/wp-pagenavi.php'))? «wp_pagenavi ':' wpi_post_link ');
Télécharger un exemple de code
Conclusion
Si vous êtes l'un de ceux qui aspirent WP designer thème "essayez" de ne pas dépendre de tiers et d'éviter les plugins en utilisant la formule ci-dessous, si possible,
"Nécessite les plugins suivants pour les travailleurs ..."
Une version publique devrait être le thème "propre plugin de dépendances" et de laisser l'utilisateur final de décider ce que les plugins dont ils ont besoin et doivent avoir.
Liens externes










4 Responses to "Thèmes plugin dépendances"
Amazing article - vous avez entièrement raison.
[Répondre]Bonjour
Je tente d'utiliser votre code de test sur mon site mais j'ai un message d'erreur disant: Call to undefined function "is_plugin_active" dans functions.php
J'ai essayer différentes choses, mais sans succès.
Excuses pour mon pauvre anglais,
[Répondre]Michel.
micheal @ si vous utilisez la version de wordpress de moins de 2,5, vous devez ajouter le code suivant dans votre thème de functions.php
[Répondre]Merci CK
mais j'ai toujours le même message:
Fatal error: Call to undefined function is_plugin_active () dans C: \ xampp \ htdocs \ wordpress \ wp-content \ themes \ veritas \ functions.php on line 27
PS: j'utilise WP 2.6 sur une installation locale (xampp).
Have a good day.
[Répondre]Si vous désirez laisser un commentaire, s'il vous plaît lire les lignes directrices suivantes. Elles sont destinées à vous protéger, vous et les autres utilisateurs du site.
Afin de tenir ces expériences agréables et intéressantes pour tous nos utilisateurs, nous vous demandons de suivre les orientations ci-dessus. N'hésitez pas à participer, poser des questions et nous dire ce que vous pensez! perspicace commentaires sont la bienvenue.
S'abonner à cette discussion par RSS
Taxonomie
La plupart des termes utilisés