プラグイン 2021.04.27

プラグインを作成するための基礎知識(必要な知識の種類や、基本的な手順など)

この記事を書いた人

土井 純也

WordPressスペシャリスト・エンジニア/株式会社e2e 取締役 / CTO

1985年北海道生まれ。
200社以上の大手上場企業のWordPressサイトの制作、保守・セキュリティをサポートしている。

【 展開しているサービス一覧 】
■WordPress開発サービス「wp.make
■WordPress保守/運用サービス「wp.support
■WordPressハッキング/緊急復旧対応サービス「wp.rescue
■WordPressバージョンアップ代行サービス「wp.versionup

概要

WordPressのプラグインは、WordPressに求めるサービスをより多くの特徴を提供することができるPHP言語で記述され、大変便利なものである。WordPressのプラグインは開発者にアクセス権限を与え、WordPressの中心のコードを触らなくても簡単に修正やカスタマイズを行い、サイトを高めることができる。 WordPressは最も人気のCMSとして知られ、その結果コミュニティから44,000個以上のダウンロード可能なプラグインが存在する。
もし問題が起きた時でも、とても簡単に解決策を見つけることができる。しかし、開発者は自分自身のプラグインを作成することに需要があります。この記事では「プラグイン開発」について紹介します。

求められるもの

言語

PHP
WordPressのウェブサイトのほとんどはバックエンドサーバー側のプログラミング言語のPHPで構成されている。ユーザーがPHPコードを含むWebページを作成したい時、サーバー上でインストールしたPHPモジュールによって処理されます。もしさらに修正が求められる場合は、HTML・CSSも必要になるでしょう。

ソフトウェア

プラグインを作成するためにWordPress、もちろんセットアップの環境、ドメイン、ホスト、アカウントにアクセスするための管理権限が必要となる。

特徴・手順

手順

新しいプラグインを作成するときは、以下の手順に従ってください。

  • wordpress配下にあるwp-contentに進む
  • pluginフォルダを開く
  • 新しくディレクトリを作成し、プラグインの後に名前をつける。(例:name-plugin)
  • 新しく作成したpluginフォルダを開く。
  • 新しくPHPファイルを開く。(例:name-plugin.php)
  • ちょうど作成したPHPファイルを編集します。プラグインのヘッダーコメントを追加することが必須です。あなたのプラグインの名前や著者などのメタデータが含まれる特別なPHPコメントを形成する。最低限、プラグインヘッダーのコメントにはプラグインの名前が含まれていなければならない。pluginフォルダの一つのファイルにのみ、ヘッダーコメントを記述し、どんなに多くのファイルがpluginディレクトリに存在しても、ヘッダーコメントを持つファイルは一つだけにする。
  • ファイルを保存し、WordPressの管理画面、プラグインのリストの中に確認することができる。確認するために、WordPressにログインし、左サイドバーの「プラグイン」を選択。そのページはプラグインがそのWordPressにインストールされる全てのプラグインが表示される。あなたの作成した新しいプラグインがリストの中から確認できるでしょう。

ヘッダーコメントについて

たとえ簡単なプラグインであれ、WordPressのプラグインはWordPressプラグインヘッダーコメントをもつPHPファイルです。ヘッダーコメントは一つのディレクトリ内の同じ機能をもつプラグインに置くことを高く定義され、これは簡単に管理、運用ができる。上記の述べたように、ヘッダーコメントはどのようなプラグインかWordPressに示している。したがって、ヘッダーコメントは最低でも、プラグインの名前を含めなければならないが、いくつかの他のコメントを含むことが望まれる。

  • Plugin Name(必須):プラグインの名前。WordPressの管理画面内プラグインリストページに表示されます。
  • Plugin URL:ホームページのプラグイン。独自のURLを望まれる。あなた自身のウェブサイトがよく、WordPress.orgのURLはここでは使用できない。
  • Description:プラグインの短い説明文。管理画面のプラグインの箇所に表示され、140文字以下で記述しなければならない。
  • Version:現在のプラグインのバージョン。1.0や1.0.3などと表示される。
  • Authour:プラグインの開発者の名前。複数名の場合はカンマで分けて使う。
  • Authour URL:開発者の他のウェブサイトやプロフィール。
  • License:短い名前のプラグインのライセンス
  • License URL:ライセンスのURL(例:https://www.gnu.org/licenses/gpl-2.0.html)
  • Text Domain:gettextで記述されるプラグインのテキストドメイン(例:posts-to-posts)
  • Domain Path:WordPresにどこにあるかフォルダがあるかと教えるためのパス。

フック:アクションとフィルター

WordPressフックは中心となるファイルを編集することなく、WordPressがどのように動くかを特定の箇所を修正することができます。WordPressの中には「アクションフック」と「フィルターフック」の2種類のフックが存在します。

アクションフック

データを追加することやどのようにWordPressが動くかを変更できる。アクションするためのコールバック関数はWordPressの特定の場所でを行い、様々なタスクを動かしたり、ユーザーに生産を呼びかけたりデーターベース内に入れ込んだりする。

フィルターフック

WordPressの働きの中でデータを変更できる機能を追加できる。フィルターをするためのコールバック関数は変わりやすく、修正し、返ってくる。それらは独自に働き、グローバル関数や出力に影響を与えるように副作用を持つべきではない。

基本的なフック

プラグインを作るときに基本的な3つのフックが必要になります。

register_activation_hook()

あなたのプラグインを「activate」に機能したいときに使います。このフックはプラグインを組み立てる機能を提供するために使います。

register_deactivation_hook()

プラグインを無効化するために機能を使います。プラグインによって一時的なデータを貯めることを避けるためにフックを使用します。

register_uninstall_hook()

管理画面でプラグインを削除した後にこの機能を使います。あなたのプラグインによって作成した全てのデータを削除するときに使用します。

カスタムフックを追加する

フックの機能を通すことによって開発者が独自のプラグインを拡張する「do_action」を使用してカスタムフックを追加することができます。

カスタムフックを削除する

早くて定義された機能を削除するために「remove_action()」で呼び出すことができる。例えばもしあなたのプラグインがもう一つのプラグインに拡張するときに、前のプラグインの「add_action()」により追加された機能を呼び戻すことができる。「remove_action()」は最初の「add_action()」の後に処理する必要があり、その中の状況においてアクションの優先度は重要である。これは「add_action()」の反対に似ている。
優先度を変更するときと同様に、フックからアクションを削除するときは常に注意しなければならない。なぜならその作業によりどのような変更が、同じフックに他の影響を与えるか判断するのが難しいからです。よくテストを行ってから実行することを進める。

WordPressのプラグインのAPIを使う

WordPressの中心の「Application Programming interface(API)」はそれぞれ機能形成し利用することに関連しているファイルを圧縮されたいくつかの独自 APIである。それらは共に働くことによってWordPressのプラグインやテーマに相互影響を及ぼし、変化、拡張することを許可するプロジェクト・インターフェイスを構築することができる。WordPressを開発するときのAPIのコアを使うことを好ましい。

  • APIのコアはフック、アクションフック、フィルターフック、ヘルプアクションによってより簡単にWordPressを構築することができる。
  • WordPressは困難な作業(データベース・バリデーション・セキュリティ・フォームの構築等)を行ってくれるため、あなたへの負担が少ない。
  • コアを利用することはあなたのコードを将来的にも互換性のあるものと確実となる。
  • APIはプラグイン、テーマオプションページ、取り扱い説明書などのwp-adminの中に互換性があることを許可する。

それらのAPIは自分自身でプラグインをカスタマイズするよりも、とても簡単にコーディング作業を行うことができる。全て最初から必要なく、コミュニティにはよくメンテナンスされ、テストされたリソースが準備されている。API専用のページが様々な機能をもつ優れたプラグインが、あなたが構築するたうえで大変役に経つだろう。(https://codex.wordpress.org/Plugin_API)

どのようにWordPressはプラグインを読み込むのか

WordPressが管理画面のプラグインページにおいて、インストールされたプラグインを読み込むとき、WordPressのヘッダーコメントに記載されたPHPファイルを探すためにプラグインのディレクトリにあるフォルダを通して探します。もしPHPファイルが一つであるのなら、そのファイルはプラグインフォルダの中にあるだろう。しかし、より一般的にプラグインファイルはそれらの個別のフォルダーに存在し、プラグインの後ろに名前をつけられる。

ショートコード

ショートコードは、コンテンツをきれいに保ち、プログラムの機能を維持し、エンドユーザーがコンテンツの表示をプログラムで変更できるようにする貴重な方法です。エンドユーザがショートコードを使用してポストにフォトギャラリーを追加すると、ギャラリーの提示方法を示すためにできるだけデータを使用していません。

まとめ

プラグインを作る際の基礎知識を解説してきました。
初めての方には少々難しいかもしれませんが、バグのない正常に機能するプラグインを作成するために、きちんとした知識をつけましょう。

関連記事

WordPressサイト制作・カスタマイズなら「wp.make」にお任せ!

WordPressでのサイト制作やリニューアルを検討する時、以下のようなお悩みはありませんか?

  • WordPressに詳しい制作会社に依頼したいが、どこがいいかわからない…
  • セキュリティ対策をしっかりしたいが、社内にノウハウがないのでプロに任せたい…
  • WordPressに最適なサーバーの選定や構築から依頼したい…
  • SEO対策や高速化も考慮したサイト構築を行なってほしい…
  • 制作後の保守・運用についてもサポートしてほしい…
  • 今のサイトを簡単に運用できるようにしてほしい…

「wp.make」は、WordPressのプロフェッショナル集団によるWordPressサイト制作・カスタマイズサービスです。
サイトの制作だけでなく、WordPressに最適なサーバーの選定や構築といったインフラ面の支援から、SEO対策や表示スピードの高速化、高度なセキュリティ対策や制作後の保守・運用サポートまで、WordPressに関わることならあらゆるお悩みを解消いたします。

既存のお客さまからも
「コミュニケーションが取りやすく、クオリティが高い」
「WordPressのプロとして信頼感がある」
と大変ご好評をいただいています。

WordPressサイトの制作・カスタマイズをご検討されているなら、ぜひ以下からお気軽にご相談ください。

>> wp.makeに無料相談する

WordPress開発・カスタマイズなら 『wp.make』

wp.make資料

全案件WordPressのみ!
株式会社e2eの『wp.make』はWordPress専門のWeb制作サービスです。

WordPress案件だけを扱っているから、技術・ノウハウ・対応力が圧倒的!

【WordPressサイト制作でよくあるお悩み】
・運用シーンが想定されておらず、更新しづらかった…
・打ち合わせで専門用語が多くてわかりづらい…
・制作後の保守には対応してくれなかった…


こんな事態になる前に、ぜひ一度、ご相談ください!
WordPressサイトを作るなら、一番WordPressに詳しいところへ!