WordPressプラグインをカスタマイズする方法
公開: 2021-01-15WordPressプラグインは、Webサイトの機能を向上させるのに最適なツールです。 ただし、場合によっては、希望どおりに実行できないことがあります。 それで。 開発者がニーズに合わせてプラグインをカスタマイズおよび拡張することは非常に一般的です。
この記事では、Webサイトのプラグインをカスタマイズする方法をいくつか紹介します。
カスタマイズする適切なプラグインの選択
インストール後にプラグインを変更することを100%確信することはできません。 ただし、その機能の拡張を検討している場合は、適切なプラグインを選択することを検討する価値があります。
あなたは何に注意を払うべきですか:
- 優れたプラグインは作者によって積極的に維持されています。
- そのニッチに関連するユーザーベースを持っています。
- バグの修正と積極的なサポートの記録があります。
- 必要な機能を提供します。
これらだけが要件ではありません。 プラグインにフックのライブラリがあり、機能をより簡単に拡張できると便利です。
なぜカスタマイズが必要なのですか?
WordPressプラグインは、Webサイトに機能を追加するソフトウェアです。 通常、プラグインは幅広いプラットフォーム、ほとんどのWordPressテーマにアピールしますが、それでも、プラグインの機能は特定のニーズの一部を満たさない場合があります。 そのため、いつでもカスタマイズに目を向け、特定のソフトウェアの機能を拡張できます。
WordPressプラグインは柔軟性があり、簡単に変更できます。 カスタマイズにより時間を節約でき、お気に入りのソフトウェアを引き続き使用でき、独自のソリューションを最初から構築する必要がありません。 サードパーティのプラグインのコア機能を使用し、ニーズに合わせて拡張します。
プラグイン開発者と協力する
おそらく、プラグインの出力にいくつかの変更を適用する最も簡単な方法は、プラグインの作成者に連絡することです。
最大のWordPressプラグインディレクトリはwordpress.orgです。 すべての開発者はそこで連絡先情報を共有します。 それらのいくつかは、コメント、提案、およびコラボレーションにオープンです。
彼らがコラボレーションに興味を持っている場合は、推奨される変更を含むパッチを送信できます。 それが彼らが追加することを検討していたものである場合は、次の更新で変更を期待するか、その前に支援を受けることができます。
カスタムフックを使用する
カスタマイズを行う次の方法は、フックを使用することです。 それらは何ですか?
フックは1つのコードを提示し、特定の場所で他のコードを操作および変更できます。
フックは、プラグインがWordPressCoreと相互作用する方法の一種の基盤です。 フックは、アクションとフィルターの2つのタイプに分けられます。
それらの1つを使用するには、カスタム関数であるコールバックを作成する必要があります。 その後、特定のフィルターまたはアクションのWordPressフックに登録します。
アクションとフィルターの違いは何ですか? アクションはデータを追加したり、WordPressの動作を変更したりします。 アクションのコールバック関数は、WordPressの実行中のある時点で実行され、いくつかのタスクを実行できます。 アクションは、呼び出し元のフックに何も返しません。
フィルタを使用すると、WordPressの実行中にデータを変更できます。 フィルタのコールバック関数は、変数を受け取り、それを変更して、それを返します。 これらは単独で機能し、グローバル変数と出力に影響を与えることはありません。
一言で言えば、アクションとフックの主な違いは次のとおりです。
アクションは、受け取った情報を受け取り、タスクを実行し、呼び出し元のフックに何も返しません。 フィルタは、受信した情報を取得して変更し、返します。 言い換えると、何かをフィルタリングし、さらに使用するためにフックに戻します。
WordPressで使用できるフックはたくさんあります。 使用しているプラグインにカスタムフックが含まれている場合は、それを拡張できます。 また、独自に作成することもできます。
カスタムフックの使用例を見てみましょう。
WooCommerceカートページにクレジットカードのロゴを追加します。
アクション「woocommerce_after_cart_totals」を介して、カートの合計領域の下にコンテンツを簡単に追加できます。 FontAwesomeアイコンを使用して、クレジットカードのロゴを表示します。 ロゴの下に、使用できるクレジットカードを示すテキストを追加できます。 コンテンツの外観をカスタマイズできます。

このような単純なアクションは、特定の場所にコンテンツを追加する必要がある場合に最適です。
一部の開発者は、プラグインにカスタムフックを含めていません。 その場合、コールバックをオーバーライドするか、カスタムフックを追加することができます。
カスタムフックの追加
必要なカスタムフックを追加するだけで、変更をプラグインに直接入れることができます。 次に、残りの機能を別のプラグインに配置する必要があります。
次に、開発者に連絡してパッチを送信し、次のアップデートで必要なカスタムフックを含めるように依頼する必要があります。 あなたが運が良ければ、彼らがそうするなら、あなたはアップグレードして、あなたのプラグインが彼らのものとスムーズに相互作用することを確実にすることができます。
彼らがそれを拒否した場合でも、新しいリリースごとにカスタムフックに手動でパッチを適用することでアップグレードできます。
コールバックを上書きする
WordPressプラグインの機能を変更する別の方法は、コールバックをオーバーライドすることです。 このメソッドは、プラグインがプラットフォームと対話する方法を変更するのに役立ちます。 カスタムコールバックを追加するときに、プラグインに表示する機能を作成します。
プラグインは、コアフックのコールバック関数を登録することでWordPressと統合されます。 コールバックを削除して、独自のコールバックに置き換えることができます。 コールバック内で、必要な機能を再作成できるように、他のプラグインから関数を呼び出す必要があります。
このオプションは、成熟した開発者に推奨されます。
プラグイン出力の変更
プラグインのデフォルト出力を変更するのが最善のオプションである場合があります。
プラグインはあなたのサイトに関連していません
プラグインが使用する用語がWebサイトに適合しない場合がありました。 たとえば、WooCommerceの「製品」という用語は、プラットフォームの主題に完全には適合しない可能性があるため、変更する必要があります。
gettextフィルターを使用してそれを行うことができます。 「製品」という単語を、適切と思われる同様の用語に変更することができます。
例:テキスト文字列を変更する(製品を注文に変更する)
ここでは、「Product」という単語のインスタンスを「Order」に変更しようとしています。 'gettext'および'ngettext'フィルターは、この操作を行うために使用されます。 $ translated行には、置換するテキスト(Product)と置換するテキスト(Order)の両方が含まれています。
特別な状況でのデータの変更または追加
WooCommerceの例では、いくつかの特別な状況でデータを追加または変更するもう1つの方法を試すことができます。
たとえば、特定のカテゴリ内のすべての製品にいくつかの情報を表示する必要があります。 この情報を各製品に手動で追加しないように、グローバルな変更を追加します。
どうすればこれを行うことができますか? is_product()WooCommerce関数とhas_term()WordPress関数を組み合わせることで、特定のカテゴリの製品をターゲットにし、重要な情報を追加できるようにします。
< ?php
プラグインの機能を変更することは、時には困難な作業になる可能性があり、間違いを犯す可能性があります。 一般的な問題には、プロセスの開始前にWebサイトのバックアップに失敗したり、元のコードを別の場所に保存せずにプラグインのコードを変更したりすることが含まれます。 幸いなことに、ほとんどの間違いは避けることができます。 まず、プラグインを呼び出す必要がある場合に備えて、プラグインの元のコードを常に保存する必要があります。 また、元のコードをそのままにして、プラグインに加えた変更のコピーを頻繁に保存します。 したがって、何か問題が発生した場合でも、作業が確実に保存されます。 さらに、WordPressプラグインをカスタマイズしたり、独自のプラグインを作成したりする場合は、ステージング環境を使用することをお勧めします。 これにより、ライブWebサイトの機能が損なわれることがなくなります。 プラグインは、WordPressWebサイトを完璧にするための優れたツールです。 残念ながら、いくつかの制限に直面する可能性があります。 ただし、これらの制限はカスタマイズによって簡単に変更できます。 上記のすべての方法は、経験の浅い開発者でも適用できます。 プラグインの機能を拡張して、Webサイトを改善してみてください。WordPressプラグインをカスタマイズするときにすべきでないこと