Thèmes d'action plugin dépendances et crochet

  • Wordpress theme plugin dependencies Un bon designer thème devrait éviter d'avoir à se fonde sur des plugins tiers.

    Plugin est désactivé

    bunny 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.


    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

    À propos de l'auteur
     

4 Responses to "Thèmes plugin dépendances"

    • Michel's photo
    • RE: Themes plugin dépendances
      url · microId 4 mois, il ya 1 semaine à 2:38 am à 3 url microId

      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,
      Michel.

      [Répondre]
    • ck's photo
    • RE: Themes plugin dépendances
      url · microId 4 mois, il ya 1 semaine à 3:11 am à 3 url microId

      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

        fonction is_plugin_active ($ plugin_filename) ( 
         $ plugins = get_option ( 'active_plugins'); 
         if (! is_array ($ plugins)) settype ($ plugins, 'array'); 
         return (in_array ($ plugin_filename, $ plugins)); 
        ) 
      [Répondre]
    • Michel's photo
    • RE: Themes plugin dépendances
      url · microId 4 mois, il ya 1 semaine à 3 heures à 11:14 url microId

      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]
    • stalker's photo Kaizeku Ban
    • Thèmes plugin dépendances - «Comment Guidlines' ↓
      url 6 mois, il ya 2 semaines, le dimanche 8 Juin 2008 à 11:06 am 5 url

      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.

      1. Être pertinents: Votre commentaire doit être une contribution à la réflexion la question de l'entrée. Gardez vos commentaires constructifs et poli.
      2. Pas de publicité ou de spamming: Ne pas utiliser la fonctionnalité de commentaire de promouvoir les entités commerciales de produits, services ou sites Web affiliés. Vous êtes autorisé à envoyer un lien dans la mesure où elle est pertinente par rapport à l'entrée.
      3. Gardez à l'intérieur de la loi: pas de lien vers du contenu choquant ou illégal sites. Ne faites pas de propos diffamatoires ou des commentaires qui pourraient nuire à la réputation d'une personne ou une organisation.
      4. Vie privée: Ne pas envoyer d'informations personnelles vous concernant ou de toute autre personne (c'est-à-dire, l'adresse, le lieu de travail, le téléphone ou le numéro de portable ou adresse e-mail).

      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

"écrire comme si vous parliez à un ami (en face de votre mère)."

. Votre avis?

Avertissement: Pour tout le contenu que vous affichez, vous accordez à Kaizeku interdiction de la libre de redevance, irrévocable, perpétuelle, exclusive et entièrement sublicensable licence d'utiliser, de reproduire, modifier, adapter, publier, traduire, créer des oeuvres dérivées, distribuer, représenter et d'afficher ce contenu, en tout ou en partie, à l'échelle mondiale et de l'incorporer dans d'autres œuvres, sous toute forme, média ou technologie connue ou développée ultérieurement. Some rights reserved.