WordPressの機(jī)能を拡張する4つの方法:カスタム関數(shù)の追加ガイド

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

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

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

このガイドは主に開(kāi)発者を?qū)澫螭趣筏皮い毪ⅴ抓恁弗Д去蕙桐`ジャーも、これらの戦略がチームのニーズにどのように合致し、いつ、どのように使うのが効果的かを?qū)Wぶことができる。

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

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

では、それぞれの方法を詳しく見(jiàn)ていこう。

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

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

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

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

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

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

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

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

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

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

ただし、functions.phpファイルにあまり多くの変更を積み重ねないようにしないと、ファイルが非常に複雑になることを覚えておいてほしい。特に、複數(shù)のPHPファイルや他の種類のファイルを使用する必要がある場(chǎng)合は、WordPress Custom Functionsプラグインを作成して、これらの変更を管理することをお?jiǎng)幛幛筏蓼埂?br>カスタム関數(shù)プラグインの作成

前にも書(shū)いたように、私がサイトに追加するコードのほとんどは、テーマとは関係のない機(jī)能の構(gòu)築や強(qiáng)化に使われている。

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

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

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

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

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

次に、WordPressがプラグインとして認(rèn)識(shí)できるように、ファイルにヘッダーを追加する必要があります?;镜膜摔稀弗抓楗哎ぅ竺工蛴浫毪工毪坤堡鞘证坤?、より詳細(xì)な例を見(jiàn)てみよう:

/**

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

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

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

* バージョン:1.0.0

* 少なくとも: 6.2

* 必要とする PHP: 8.1

* 作者: Thomas Maier

*/

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

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

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

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

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

本當(dāng)に狀況によります。特定のカスタムコードが複數(shù)のプロジェクトで使われることがわかっている場(chǎng)合は、別のプラグインに入れます。しかし、特定のサイトのために特別に設(shè)計(jì)されたコードは、同じプラグインに入れます。こうすることで、メンテナンスするプラグインの數(shù)を減らすことができる。

簡(jiǎn)単そうでしょう?しかし、過(guò)去數(shù)年間、大きなプラグイン會(huì)社の1つを管理し、複數(shù)のサイトに何百もの調(diào)整を加えてきた経験から、このようなカスタムプラグインは通常、開(kāi)発者向きであることがわかりました。では、次のセクションで別のアプローチを探ってみよう。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

これは安全なのか?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

カスタム関數(shù)プラグインの作成

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

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

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

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

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

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

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

/**

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

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

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

* バージョン:1.0.0

* 少なくとも: 6.2

* 必要とする PHP: 8.1

* 作者: Thomas Maier

*/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

必要なプラグインの作成

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

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

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

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

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

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


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

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

    コメントなし