Question

Je travaille sur un thème qui comprend quelques fonctionnalités que j'ai développé sous forme de plugins séparés (comme je l'espère pour les libérer de manière indépendante).

Je voudrais inclure ces plugins dans le cadre du noyau thématique et je l'ai remarqué que certains développeurs comprennent des plugins comme des fichiers ou des sous-répertoires ainsi que leur thème, mais au fil du temps qui peut finalement conduire à maintenir deux versions du même plugin - un pour le dépôt de plugin, un pour le thème -. mais je voudrais éviter, si possible

Quelle est la meilleure pratique pour inclure des plugins dans le cadre d'un thème?

Était-ce utile?

La solution

Si vous prévoyez de les libérer de manière indépendante, puis les libérer de manière indépendante et essayer de les obtenir à la fois hébergé dans le référentiel WP. Cela vous permettra de mettre à jour les systèmes à distance et de garder les gens en utilisant le système le plus mise à jour possible.

Ensuite, dans votre thème, utilisez is_plugin_active() pour filtrer vos commandes. Si vous avez une fonction de thème qui nécessite un plug-in, utilisez is_plugin_active() de commutateur dynamique entre l'utilisation de la fonction ou lancinante à l'utilisateur d'installer le plug-in.

La chose importante à garder à l'esprit est que votre thème devrait fonctionner si les plug-ins ne sont pas installés. Il ne doit pas avoir le même ensemble de fonctionnalités riches, mais aussi shouldn » t pause s'ils décident de supprimer ou désactiver l'un des autres plug-ins.

Par ailleurs, si vous savez qu'un certain plugin ne va pas changer depuis très longtemps (j'utilise quelques plugins que uniquement Ajout / Suppression de filtres WP spécifique), vous pouvez laisser tomber le PHP fichier dans un répertoire /library avec votre thème et include() le fichier dans functions.php. Ensuite, la fonctionnalité est activée par défaut -. Compromis est que vous maintenez maintenant deux versions du plug-in (comme vous l'avez mentionné dans votre question initiale)

Autres conseils

Fondamentalement, vous avez trois cas possibles:

  • thème et le plugin installé à la fois;
  • thème est uniquement installé;
  • est uniquement installé le plugin.

Prendre en compte ce qui est plus susceptible d'obtenir mise à jour:

  • dépôt hébergé plugin - probable;
  • référentiel hébergé par thème - probable;
  • non-dépôt hébergé thème ou plugin - improbable;
  • thème enfant -. Hautement improbable (ne peut pas être hébergé dans le référentiel, fusion manuelle des changements parce qu'il est censé être personnalisé par l'utilisateur final)

Donc dans l'ensemble, il est bon de garder le code même (similaire, sinon identique) et le charger dans le thème conditionnellement lorsque le plugin n'est pas présent. Parce qu'il est maintenant plugins sont à la fois plus facile et plus commune à la mise à jour.

Il est évident que le thème doit être en mesure d'utiliser le plugin fourni ou séparés non plus et plug-in ne devrait pas dépendre du code du thème du tout.

Best (mais la pratique complexe) est la construction de vos extensions comme contexte indépendant (aka cadre) et l'utilisation chargeur sur mesure pour vérifier les versions et charger dernières données disponibles. Par exemple pratique de l'approche-cadre voir scbFramework qui est à la fois distribué en tant que plug-in séparé et utilisé plusieurs autres extensions.

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top