web-dev-qa-db-fra.com

Comment créer un plugin enfant pour wordpress

En fait, j'ai changé du code dans WordPress Localisateur de magasins. Je veux qu'il reste quand le plugin sera mis à jour. Je veux donc créer un plugin enfant pour cela. Des idées sur la façon de le gérer?

7
Jalaj Mishra

Cela varie d'un plugin à l'autre, et ce n'est parfois même pas possible, d'autres fois les plugins ont une documentation pour les étendre facilement (comme WooCommerce et Gravity Forms). Certains d'entre eux créent Action Hooks avec do_action() qui vous permettent d'étendre facilement la fonctionnalité. Un exemple courant consiste à mettre à jour un message après l'envoi d'un formulaire Gravity avec leur gform_after_submission crochet.

En effet, cela dépend de ce que vous voulez faire et de la façon dont le plugin implémente les fonctionnalités que vous souhaitez modifier. S'ils ajoutent du texte avec Fermeture ou Fonction anonyme , il sera plus difficile de modifier ledit texte, et vous devrez peut-être regarder quelque chose d'étrange comme faire une recherche au moment de l'exécution et remplacez en utilisant Tampon de sortie , généralement sur template_redirect crochet.

Si vous voulez supprimer quelque chose qu'un plugin fait, vous pouvez souvent le décrocher avec remove_action . Cela peut être un peu délicat selon la façon dont le plugin est instancié, parfois aussi simple que:

remove_action( 'some_hook', 'function_to_remove' );

D'autres fois, c'est plus compliqué comme:

global $plugin_class_var;
remove_action( 'some_hook', array($plugin_class_var, 'function_to_remove') );

Ce sont les bases de l'extension (ou même du "rétrécissement"?) Des fonctionnalités d'un plugin, et ce n'est pas toujours faisable de manière appropriée. Malheureusement, la réponse étroite à votre question est en dehors de la portée de ce que nous pouvons fournir de StackOverflow.

À partir d'ici, vous devrez déterminer exactement ce que vous voulez faire avec le plugin, et fouiller dans les fichiers du plugin pour voir s'il y a un crochet ou fonction que vous pouvez utiliser. Si vous êtes toujours bloqué, vous devrez poster une nouvelle question (ne pas mettre à jour celle-ci) avec votre résultat exact souhaité et tout ce que vous 'ai essayé, et le code pertinent qui l'accompagne. "Je veux changer un plugin sans éditer les fichiers de base" n'est pas assez précis. "Je veux remplacer une icône par une icône personnalisée dans ce plugin, voici ce que j'ai essayé" est suffisamment précis pour éventuellement répondre.

Bonne chance!

5
Xhynk

Selon WordPress standard, il est appelé l'addon du plugin.

si le plugin a fourni une action pour mettre à jour cette fonctionnalité, vous pouvez l'utiliser avec votre addon (plugin enfant).

Ici, j'envoie un lien de référence. https://developer.wordpress.org/reference/functions/add_action/

2
Jagir bahesh

Je viens de passer par moi-même et j'ai eu tellement de changements que je ne pouvais pas simplement annuler les actions.

J'ai créé cet outil qui vous permet de créer un plugin enfant comme un thème enfant. Vous pouvez mettre à jour le plugin et le mettre à jour sans perdre vos modifications.

Je poste ceci ici parce qu'il se rapporte et, espérons-le, deviendra utile à la prochaine personne qui rencontrera ce problème.

https://github.com/ThomasDepole/wordpress-child-plugin-tool

0
Thomas Depole