WordPressの機能を拡張する4つの方法:カスタム関数の追加ガイド

WordPressにカスタマイズを追加する方法:実践ガイド

WordPressのバックエンド開発者として長年の経験を持つ者として、私は自分自身や他の人の特定のニーズに合わせてWordPressをカスタマイズする方法を数多く試してきました。最も一般的な方法の一つは、独自のWordPress Custom Featuresプラグインを作成することです。しかし、この記事で紹介するように、これは唯一の選択肢ではなく、また常に最良の選択肢でもありません。

画像[1]-WordPressの機能を拡張する4つの方法:カスタム機能の追加ガイド - フォトンゆらぎネットワーク|WordPress修理のプロフェッショナル、グローバルリーチ、迅速な対応

このガイドは主に開発者を対象としているが、プロジェクトマネージャーも、これらの戦略がチームのニーズにどのように合致し、いつ、どのように使うのが効果的かを学ぶことができる。

私がWordPressをカスタマイズする方法をいくつか紹介しよう:

  1. テーマのfunctions.phpファイルにコードを追加します。
  2. カスタム機能専用のWordPressプラグインを作成する。
  3. カスタムスニペットの管理と適用にはプラグインを使用します。
  4. 必要不可欠なプラグインでパーソナライズ。

では、それぞれの方法を詳しく見ていこう。

Functions.phpにコードを追加する

ほとんどのサイトがPHPで書かれていたWordPressの「初期」時代、サイトの機能を変更する最も速い方法は、テーマのfunctions.phpファイルにコードを追加することでした。

もしリスクを負うことを厭わなければ、WordPressダッシュボードのテーマファイルエディターで直接編集することができる。

画像[2] - WordPressの機能を拡張する4つの方法:カスタム関数の追加ガイド - フォトンゆらぎネットワーク|WordPress修理のプロフェッショナル、ワールドワイド、迅速な対応

そのうちに、WordPressのfunctions.phpファイルを使ってサイトをカスタマイズするのが一番快適だったのが、あまり使いたくなくなってきた。

主な問題は、functions.phpファイルがテーマに添付されていることです。つまり、あなたのために特別にカスタマイズされたテーマを使っていない場合、テーマがアップデートされると、あなたが行ったパーソナライゼーションがすべて失われてしまうということです。

一つの解決策は、子テーマを作成することで、テーマ自体に影響を与えることなく、親テーマに関連する変更を維持することができます。

functions.phpファイルにはあまりカスタムコードを追加しないようにしている。コードの多くはプラグインに適しており、プラグインはテーマのスタイルを変更するだけではなく、サイトに新しい機能を追加するために使われることが多いからだ。

functions.phpファイルにカスタムコードを書くことを検討するケースが、他に2つある:

  1. このコードは、私自身のカスタムテーマやサブテーマ専用です。
  2. functions.phpファイルへのアクセスは通常とても簡単なので、いくつかの変更を素早くテストする必要があった。

ただし、functions.phpファイルにあまり多くの変更を積み重ねないようにしないと、ファイルが非常に複雑になることを覚えておいてほしい。特に、複数のPHPファイルや他の種類のファイルを使用する必要がある場合は、WordPress Custom Functionsプラグインを作成して、これらの変更を管理することをお勧めします。
カスタム関数プラグインの作成

前にも書いたように、私がサイトに追加するコードのほとんどは、テーマとは関係のない機能の構築や強化に使われている。

ウェブサイトにカスタム・コンテンツを追加すると決めたら、私はカスタム機能プラグインを作り始める。例えば、WP Mayorの場合は、"WP Mayor Custom Features "というプラグインを作ります。

ネーミングは本当に重要だ!まず第一に、このプラグインがこのサイトのために設計され、主にそのサイトに固有の変更を加えるために使用されることを、サイトの他の管理者に一目で知らせることができます。

第二に、プラグインのフォルダとファイルの名前を一意に保つことで、WordPress.org のプラグインリポジトリで同じ名前の他のプラグインに誤って置き換えられてしまうことを防ぐことができます。

WordPress Custom Featuresプラグインの作成は、実はとても簡単です。wp-content/pluginsディレクトリから始めるだけです。通常、コードを整理するために複数のファイルが必要になりますし、JavaScriptやCSSファイルも追加する必要があるかもしれません。

例として、新しいプラグインフォルダwp-content/plugins/wp-mayor-custom-functionsとメインプラグインファイルwp-mayor-custom-functions.phpを用意します。

次に、WordPressがプラグインとして認識できるように、ファイルにヘッダーを追加する必要があります。基本的には「プラグイン名」を記入するだけで十分だが、より詳細な例を見てみよう:

/**

* プラグイン名:WP Mayor Custom Function

* プラグイン URI: https://wpmayor.com

* 説明: 私たちのためにカスタム構築されたすべてのクールな機能。

* バージョン:1.0.0

* 少なくとも: 6.2

* 必要とする PHP: 8.1

* 作者: Thomas Maier

*/

こうすると、WordPressダッシュボードの「プラグイン」ページにプラグインが表示されるはずだ。

画像[3] - WordPressの機能を拡張する4つの方法:カスタム関数の追加ガイド - Photon Volatility Network|プロフェッショナルなWordPress修理サービス、グローバルなリーチ、迅速な対応

これで、実際のPHPコードをファイルに追加し始めることができる。

ヒント:FTPでサイトにアクセスできない場合や、手間を省きたい場合は、Pluginceptionというプラグインを使うとすぐに始められる。その後、WordPressダッシュボードのプラグインエディターでさらにコードを追加できる。

サイト固有のコードをすべてカスタム機能プラグインに入れるべきかどうか、おそらく疑問に思っていることだろう。

本当に状況によります。特定のカスタムコードが複数のプロジェクトで使われることがわかっている場合は、別のプラグインに入れます。しかし、特定のサイトのために特別に設計されたコードは、同じプラグインに入れます。こうすることで、メンテナンスするプラグインの数を減らすことができる。

簡単そうでしょう?しかし、過去数年間、大きなプラグイン会社の1つを管理し、複数のサイトに何百もの調整を加えてきた経験から、このようなカスタムプラグインは通常、開発者向きであることがわかりました。では、次のセクションで別のアプローチを探ってみよう。

コード・スニペット・プラグインを使用して、以下を管理する。

私は一般的なコードを1つのカスタム機能プラグインに統合する習慣がある。そうすることで、空白のカートページを価格ページにリダイレクトしたり、プロモーション情報やブラックフライデー・スペシャルを追加したりといったプラグインへの変更が明確に文書化され、わかりやすいファイル名で保存されます。

このアプローチは、コードに直接アクセスできる人にとっては「よく文書化」されており、「読みやすい」。

しかし、私は常に変更を加えたり、それについての質問に答えたりしているが、多数のカスタム機能を管理する最も効率的で持続可能な方法ではないことに気づいた。

より多くの人がショップやウェブサイトを管理するようになるにつれ、更新専用のナレッジベースのページに頼るのではなく、変更点を簡単に理解できるようになってほしい。

解決策は、WordPressダッシュボードでコードスニペットを管理するためのカスタム機能プラグインを使用することです。

私の個人的な好みは無料のCode Snippetsプラグインを使うことだが、もちろん他の選択肢もある。

このプラグインをインストールすると、ダッシュボードにすべてのコードスニペットを表示するためのメニューが追加されます。

変更内容は、管理者権限を持っている人なら誰でも見ることができるようになった。それぞれのコード・スニペットに説明的な名前をつけ、コメント欄で詳しく説明し、さまざまな変更にタグをつけた。

画像[4] - WordPressの機能を拡張する4つの方法:カスタム関数の追加ガイド - Photon Volatility Network|プロフェッショナルなWordPress修理サービス、グローバルなリーチ、迅速な対応

私は通常、「WooCommerce」や「checkout page」のように、問題のプラグインやテーマの名前と、それに関連するサイトの部分をタグとして使用します。

画像[5] - WordPressの機能を拡張する4つの方法:カスタム関数の追加ガイド - Photon Volatility Network|プロフェッショナルなWordPress修理サービス、グローバルなリーチ、迅速な対応

わかりやすい名前と整理された構造を選べば、私自身、誰でもツッコミどころを見つけて理解できるはずだ。私は個人的なウェブサイトでもこの方法を使っている。

Custom Functionsプラグインを使用すると、時々実行されるクリーンアップスクリプトやフロントエンドに影響を与えるアクション(プロモーションキャンペーンの開始など)など、一時的に必要なコードスニペットには特に便利です。

これは安全なのか?

通常、WordPressでは「管理者」権限を持つユーザーであれば、バックエンドでプラグインやテーマのファイルを編集することができます。カスタムコードを持つプラグインも同様です。そのため、各ユーザーに必要な権限だけを与えるという昔からのセキュリティ対策は今でも重要です。

開発者にとって、プラグインを使ってコードを管理するということは、プラグインを最初にロードする必要があるため、ページがロードされたときにいくつかの初期フックが利用できない可能性があることを意味します。他のプラグインよりも先にカスタムコードをロードする必要がある場合は、いわゆるMUプラグインオプションに注目するとよいでしょう。
必須プラグインでWordPressの機能をカスタマイズする

いわゆる "必須 "プラグインは特別なタイプのプラグインだ。

このプラグインは他の通常のプラグインよりも先に実行されるので、特定のページで特定のプラグインをオンにするかオフにするかを制御するためによく使います。例えば、特定の機能を高速化したり、admin-ajax.phpの呼び出し効率を改善したりするためです。

必携」プラグインの重要な特徴は、自動的に有効になり、WordPressダッシュボードから無効にしたり変更したりできないことです。このため、管理者でも変更できないコアコードを保存するための理想的な選択肢となる。
必要なプラグインの作成

Required "プラグインは wp-content/mu-plugins フォルダに追加されます。WordPressを新規インストールした場合、デフォルトではこのフォルダはありませんが、プラグインやホスティングサービスによっては、自動的にここにコンテンツが追加されることもあります。

行く ミュープラグイン 新しいプラグインをフォルダに追加するには、前に示したように、カスタムプラグインのヘッダー情報を含むPHPファイルをコンピューター上に作成する必要がある。今回は、「必ず必要な」プラグインは自動更新されないので、名前の一意性を心配する必要はない。

新しいカスタム機能プラグインに満足したら、FTP経由で手動でそれを wp-content/mu-plugins フォルダ。このフォルダがまだ存在しない場合は、新しいフォルダを作成してください。

WordPressの管理画面から「必須」プラグインを変更することはできませんが、「プラグイン > 必須プラグイン」セクションで確認することができます。

画像[6] - WordPressの機能を拡張する4つの方法:カスタム関数の追加ガイド - Photon Volatility Network|プロフェッショナルなWordPress修理サービス、グローバルカバレッジ、迅速な対応

以前は自分のWordPressサイトを特別な方法でカスタマイズするのが好きだったが、今はあまり好きではない。問題は、すべての変更がサイトのテーマに属するfunctions.phpというファイルにあることだ。テーマが私の手によるものでなく、更新されると、私が行った微調整はすべて消えてしまう。

解決策は「子テーマ」を作って、元のテーマに関連するすべての変更を維持できるようにすることだった。

私はもうfunctions.phpファイルに多くのカスタムコードを追加していない。ほとんどの場合、このような変更はルック&フィールを変更するだけでなく、サイトに新しい機能を追加するプラグインを使って行うべきだとわかったからだ。

また、functions.phpファイルにカスタムコードを書くケースが2つある:

  1. 私のカスタムテーマや子テーマ専用のコードの場合。
  2. functions.phpファイルに簡単にアクセスして修正できるので、いくつかの変更を素早くテストしたかった。

しかし、このファイルに多くの変更を詰め込んではいけないことを覚えておいてほしい。ファイルが複雑になりすぎると、管理が大変になる。特に、PHPファイルや他の種類のファイルをたくさん使う必要がある場合は、これらのカスタマイズを管理するための特別なWordPressプラグインを作成することを選びます。

カスタム関数プラグインの作成

私は通常、WordPressサイトに多くのコードを追加するが、それは単にサイトの外観を変えるためではなく、特別な機能を追加するために使用される。

ウェブサイトに特定のカスタム機能を追加する必要があるとき、私はカスタム機能プラグインと呼ばれるものを作成します。例えば、私のサイトが'WP Mayor'と呼ばれている場合、'WP Mayor Custom Features'というプラグインを作成します。

プラグインに良い名前をつけることは重要だ。そうすれば、サイトを管理する他の人たちは、プラグインがこのサイトに直接関係していること、プラグインにはこのサイトに対する変更しか含まれていないことが一目でわかるからだ。

また、プラグインの名前は、WordPressの公式プラグイン・リポジトリにある他のプラグインと混同されたり、間違って上書きされたりしないように、ユニークなものにしてください。

このようなプラグインの作成は簡単で、wp-content/pluginsディレクトリに新しいフォルダを作成するだけです。おそらく、JavaScriptやCSSなどのコードファイルを含む多くのファイルを追加する必要があるでしょう。

WP Mayor'を例にして、wp-content/pluginsディレクトリに'wp-mayor-custom-functions'というフォルダを作成し、その中に次のように記述します。wp-mayor-custom-functions.php'というメインプラグインファイルを作成します。

WordPressにプラグインであることを伝えるために、このメインファイルにコードを書く必要がある。プラグイン名を記入するだけでプラグインを実行させることは可能だが、より多くの情報を含むヘッダーのサンプルを紹介しよう。

/**

* プラグイン名:WP Mayor Custom Function

* プラグイン URI: https://wpmayor.com

* 説明: 私たちのためにカスタム構築されたすべてのクールな機能。

* バージョン:1.0.0

* 少なくとも: 6.2

* 必要とする PHP: 8.1

* 作者: Thomas Maier

*/

上記の手順が完了したら、作成したプラグインがWordPressコントロールパネルの「プラグイン」セクションに表示されるはずです。そこでプラグインを確認し、管理することができます。

画像[7] - WordPressの機能を拡張する4つの方法:カスタム関数の追加ガイド - フォトンゆらぎネットワーク|WordPress修理のプロフェッショナル、グローバル対応、迅速なサービス

これで、実際のPHPコードをファイルに追加し始めることができる。

ちょっとしたヒント:FTPでサイトにアクセスできない場合、あるいは単に怠惰な気分の場合は、Pluginceptionというプラグインを使って手っ取り早く始める。そうすれば、WordPressのコントロールパネルにあるプラグインエディターで直接コードを追加できる。

カスタムコードをすべてプラグインに入れるべきかと聞かれるかもしれない。それは本当に場合によります。もしコードのいくつかがさまざまなプロジェクトで使われることがわかっているなら、私はそれらを別のプラグインに入れます。しかし、特定のサイト専用のコードは、同じプラグインに入れます。そうすれば、たくさんのコードベースを管理する必要がなくなるから。

それなら大丈夫そうでしょう?しかし、大規模なプラグイン会社を経営し、ウェブサイトに多くの手を加えてきた経験から、これらのカスタムプラグインは、通常、開発者向けに特化しすぎていることがわかりました。次のセクションでは、別のアプローチを探ってみよう。

コード・スニペット・プラグインを使用して、以下を管理する。

一般的なコードはすべて専用のプラグインで管理し、常に整理できるようにしています。また、特別なプロモーションや重要なアップデートなど、すべての変更と調整が明確に文書化され、わかりやすいファイルに整理されていることを確認しています。

コードは私にとって理解しやすかったが、特に、より多くの人々がウェブサイトを管理する必要がある中で、最も効率的な方法ではないことに気づいた。

これらのカスタマイズを誰もが簡単に理解し、管理できるようにするために、私はWordPressのコントロールパネルからすべてのコードスニペットを直接管理できるWordPressプラグインを使用することにしました。

私が特に気に入っているのは、"Code Snippets "という無料のプラグインだ。ダッシュボードに新しいセクションが追加され、そこにすべてのコード・スニペットがリストアップされる。これで、管理者権限を持っている人なら誰でも簡単にコードを見たり編集したりできる。また、それぞれのコード・スニペットに説明的な名前を付け、コメントを使って何をするのか詳しく説明し、異なる変更点にはラベルを付けて整理しやすくしている。

画像[8] - WordPressの機能を拡張する4つの方法:カスタム関数の追加ガイド - フォトンゆらぎネットワーク|WordPress修理のプロフェッショナル、グローバルリーチ、迅速な対応

私のタグは通常、私が微調整しているプラグインやテーマの名前と、「WooCommerce」や「Checkout」のようなページのセクションです。

画像[9] - WordPressの機能を拡張する4つの方法:カスタム関数の追加ガイド - フォトンゆらぎネットワーク|WordPress修理のプロフェッショナル、グローバルリーチ、迅速な対応

コードやファイルにわかりやすい名前をつけ、うまく整理すれば、私を含め、誰でも簡単に微調整を見つけ、理解することができる。私自身の個人的なウェブサイトでもこのアプローチを使っている。

カスタム関数プラグインの使用は、時々実行する必要があるクリーンアップや、プロモーションを開始するような特定の時間にのみ必要なフロントエンド機能など、一時的に使用する必要があるコードスニペットには最適です。

また、この方法は安全なのだろうか?

通常、WordPressでは管理者権限を持つ人であれば誰でもサイトのプラグインやテーマのコードを編集することができます。カスタムコードのプラグインを使う場合も同様だ。そのため、昔からのルールである、各人に必要な権限だけを割り当てることで、サイトの安全性を保つことができます。

開発者にとって重要なことは、プラグインでコードを管理する場合、一部のコードは他のプラグインよりも先に読み込む必要があるということです。もしあなたのコードがこれを必要とするのであれば、「MUプラグイン」と呼ばれる特別なプラグインタイプの使用を検討すべきです。

必須プラグインでWordPressの機能をカスタマイズする

エッセンシャル・プラグインは、WordPressの他のすべての通常のプラグインよりも先に実行される特別なプラグインです。特定のページで特定のプラグインをオンにするかオフにするかを制御するために使用します。この種のコードは、APIコールのフェイクやバックエンドの応答性の最適化など、特定の機能の高速化にも役立ちます。

重要な特徴として、これらの必須プラグインは自動的にオンになり、WordPressのコントロールパネルでオフにしたり変更したりすることができない。このため、管理者によっても変更されるべきではないコアコードをホストするのに最適です。

必要なプラグインの作成

Essential Plugins」はWordPressフォルダ内のwp-content/mu-pluginsディレクトリに格納されています。通常、WordPressの新規インストールにはこのフォルダはありませんが、プラグインやウェブホスティングサービスによって自動的に追加されることもあります。

このmu-pluginsフォルダに新しいプラグインを追加したい場合は、前に紹介したカスタムプラグインのように、まずコンピュータ上にPHPファイルを作成する必要がある。ただし、このファイルにユニークな名前をつける必要はありません。なぜなら、これらの必須プラグインは、他のプラグインのように自動的に更新されないからです。

新しいプラグインに満足したら、FTPでwp-content/mu-pluginsフォルダに手動でアップロードする必要があります。このフォルダがまだ存在しない場合は、自分で新しいフォルダを作成する必要があります。

WordPressの管理インターフェイスからこれらの必須プラグインを変更することはできませんが、「プラグイン」メニューの「Enforce Usage」セクションで見つけることができます。

プラグインは1つのファイルにまとめるのが理想的です。メインのPHPファイル内で他のファイルを参照することはできますが、WordPressはサブフォルダに保存されたファイルを見つけることができません。必須プラグインが複雑になる場合は、メインのコードを共通のプラグインに入れ、他のすべてのプラグインの前に実行する必要があるすべてのコードをロードして実行するためにのみ必須プラグインを使用することを検討する必要があります。
概要

WordPressにカスタムコードを追加する方法をいくつか見てきました。テーマのfunctions.phpファイルにコードを追加する方法から、スタンドアロンプラグインやカスタムファンクションプラグインを作成する方法、必須プラグイン(mu-plugins)を使用する方法などです。それぞれの方法には、さまざまな状況に対する利点と欠点があります。あなたがどのような変更をしたいのか、そして誰がそれを使う必要があるのかによります。


お問い合わせ
チュートリアルが読めない?無料でお答えします!個人サイト、中小企業サイトのための無料ヘルプ!
カスタマーサービス WeChat
カスタマーサービス WeChat
電話:020-2206-9892
QQ咨询:1025174874
Eメール:info@361sale.com
勤務時間: 月~金、9:30~18:30、祝日休み
© 複製に関する声明
この記事はハリーが執筆しました。
終わり
好きなら応援してください。
クドス0 分かち合う
おすすめ
解説 ソファ購入

コメントを投稿するにはログインしてください

    コメントなし