web-dev-qa-db-ja.com

wordpressの子プラグインを作成する方法

実際にWordPress Store Locatorのコードをいくつか変更しました。プラグインが更新されても保持したいので、そのための子プラグインを作成したいと思います。それを管理する方法についてのアイデアはありますか?

7
Jalaj Mishra

これはプラグインごとに異なり、場合によっては不可能である場合もあります。また、プラグインには、プラグインを簡単に拡張するためのドキュメント(WooCommerceやGravity Formsなど)がある場合もあります。それらの一部は アクションフックとdo_action() を作成し、機能を簡単に拡張できます。一般的な例は、重力フォームが gform_after_submission フック。

効果的には、それは何をしたいか、そしてプラグインがどのように変更したい機能を実装するかに依存します。 Closure または Anonymous Function を使用してテキストを追加すると、そのテキストを変更することが難しくなり、実行時の検索を行うような奇妙なことを見る必要がある場合があります。そして Output Buffering を使用して置き換えます。通常は template_redirect フック。

プラグインが行う何かを削除したい場合は、 remove_action 。これは、プラグインのインスタンス化方法によっては少しトリッキーになる場合があります。

remove_action( 'some_hook', 'function_to_remove' );

その他の場合は次のように複雑です。

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

これらはプラグインの機能を拡張する(または「縮小」する)ことの基本であり、alwaysが適切に実行できるわけではありません。残念ながら、あなたの質問に対する狭い答えは、StackOverflowから提供できるものの範囲外です。

ここから、プラグインで何をしたいか正確に把握し、適切なプラグインがあるかどうかプラグインのファイルを調べます使用できるフックまたは関数。それでも行き詰まっている場合は、exact希望の結果と任意のものを使用して、新しい質問を投稿する必要があります(これを更新しないでください)。試してみて、それに伴う関連コード。 「コアファイルを編集せずにプラグインを変更したい」というのは、具体的な内容ではありません。 「このプラグインのアイコンをカスタムアイコンに置き換えたいのですが、ここで試してみました」は、おそらく答えるのに十分具体的です。

幸運を!

5
Xhynk

WordPress標準に従って、プラグインのアドオンと呼ばれます。

プラグインがその機能を更新するアクションを提供している場合は、アドオン(子プラグイン)で使用できます。

ここに参考のためにリンクを送っています。 https://developer.wordpress.org/reference/functions/add_action/

2
Jagir bahesh

私は自分自身を経験したばかりで、アクションを上書きすることができないほど多くの変更がありました。

子テーマのような子プラグインを作成できるこのツールを作成しました。プラグインを更新しても、変更を失うことなくプラグインを更新できます。

これは、この問題に遭遇した次の人に関係があり、うまくいけば役立つので、ここに投稿します。

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

0
Thomas Depole