Je suis un développeur Drupal, je me lance dans Wordpress. Autant que je sache, il existe différentes méthodes permettant à un plugin de diffuser du contenu sur un site Wordpress:
Lequel utilisez-vous et quand? Existe-t-il de bons articles couvrant un tel sujet?
Cela dépend fortement de ce dont vous avez besoin.
dynamic_sidebar()
s dans les modèles de thèmes, offrant ainsi une telle possibilité.do_action()
- ou apply_filter( 'name', $args_1, $args_etc )
-. Vous pouvez les utiliser avec add_action( 'name', 'callback_function_name' );
(méthode de la classe: add_action( 'name', array( $this, 'callback_method_name' ) );
).Vous pouvez donc utiliser tout ce que vous voulez, mais vous devez essayer de le rendre aussi simple que possible pour l'utilisateur. Offrir des balises de modèle n'est généralement pas une bonne idée. Il est préférable d’attacher votre fonction principale à un point d’accès que l’utilisateur doit ajouter à son modèle: do_action( 'plugin_special_hook' );
. De cette façon, vous éviterez les erreurs et les avertissements/avis au cas où votre plugin ne serait pas activé.
Si vous utilisez des widgets, vous disposez d'une interface utilisateur que l'utilisateur peut utiliser pour ajuster les options possibles.
Si vous utilisez les boutons Shortcodes ou TinyMCE, vous avez une autre possibilité d’ajuster la sortie.
Si vous avez des filtres ou des points d'ancrage, la sortie est générée sans implication des utilisateurs. Ou vous avez une page d'administration de l'API de configuration, où l'utilisateur peut ajuster la sortie.
L'API de réécriture n'a rien à voir avec ce qui a été mentionné ci-dessus - il ne s'agit pas de sortie, mais de demandes de routage.
Les MU-Plugins viennent juste après les DropIns en ordre de chargement et ont accès au dernier hook muplugins_loaded
. Ensuite, vous avez des plugins avec le hook plugins_loaded
. Ensuite, il y a le hook after_setup_theme
pour les plugins. Puis tout le reste suit avec init
.
Normalement, la règle empirique consiste à déposer tout ce qui n'est pas une interface utilisateur dans un plugin. S'il a des options, utilisez un plugin normal, sinon utilisez un plug-in mu. Le reste entre dans un thème. Ou un thème enfant (possibilité de remplacer les fichiers de thèmes parents sans perdre les modifications apportées aux mises à jour du thème parent).
Si vous avez besoin de modifier une fonction pluggable.php, vous utilisez un DropIn. Astuce: Ne remplacez pas les plug-ins, car cela est généralement trop sujet aux erreurs.
Il y a aussi quelques autres API, comme par exemple la WP API HTTP, et autres . Assurez-vous de les utiliser, sinon le ciel vous tomberait sur la tête (tôt ou tard).