どうしたらいいのNAVI

どうしたらいいの?にお答えするサイト

【WordPressプラグイン自作】WordPressのプラグインの初期化処理の方法(plugins loaded)

      2015/11/07


WordPressで自作プラグインを認識させ、アクションフックやフィルターフックを追加する方法を学んだ!でも実際にどうやって処理を書いていけば良いかわからない!
やりたい事ははっきりしているんだけれど、それを実現するにはどうすれば良いのか?とプラグインの自作について悩んでしまう人も多いかもしれませんね。

 
Wordpressプラグインを自作する上で、処理は当たり前ですがプラグインそのもののようなものなのでとても大切です。
プラグインの処理の書き方を知る上で、まず大切なのが初期化処理です。

 
プラグインは初期化処理を実行される事により、処理に必要な前提的な情報を用意する事が可能になります。
Wordpressのプラグインの初期化処理の方法について簡単でわかりやすく詳しく紹介しているのでチェックしていってくださいね。

 

 
【Wordpressプラグイン自作】Wordpressのプラグインの初期化処理の方法(plugins loaded)
 

 

WordPressのプラグインの初期化処理の方法について

WordPressのプラグインの初期化処理の方法というのは、Wordpressに登録したプラグインが有効化された時に、プラグイン実行の為に必要な前提情報を起動時に一度だけ実行する処理の事を指します。

 
プラグインの最初の一度だけ処理され、変数として持ちたい値などを予め設定しておくことを「初期化」または「イニシャライズ」と言います。

 
Wordpressのプラグインの初期化というと理想的なのがプラグインの一覧画面からプラグインを有効化した時でしょう。
プラグインの一覧画面からプラグインを有効化した際に、初期化処理をさせるのに利用するのが、フィルターフックの一つである「plugins loaded」の利用です。

 
Wordpressのプラグインの初期化を利用する上では次の手順を踏むようにしましょう。

  • 初期化処理関数を作成する
  • 初期化処理関数をアクションフックで呼び出す

 
Wordpressのプラグインの初期化処理は基本だけでおさえるとわずか2ステップで済むのです。
では、具体的にWordpressのプラグインの初期化処理の方法についてみていきましょう。

 

 

 

初期化処理関数を作成する

WordPressでプラグインの一覧画面からプラグインを有効化した時だけ実行される、初期化用の関数を用意しましょう。
初期化用の関数は自作の関数となり、PHPの制約や他のプラグインで利用されている関数名と同じ名前をつけない限りは自由に関数名を付けても大丈夫です。

有効化した際に呼び出される関数なので、設定の一覧の中に独自のプラグイン専用の項目の追加やエディターにボタンを追加する各種アクションフックやフィルターフックを定義したり、プラグインで利用するショートコードの追加を行ったりすると良いでしょう。

例えば、初期化処理の関数として次のような関数を用意する事が出来ます。

 

 

 

初期化処理関数をアクションフックで呼び出す

初期化処理関数をWordpressに認識させ、プラグイン有効化時の一度だけ実行させるにはフィルターフックの「plugins loaded」を利用します。
「plugins loaded」はアクションフックの一つで、プラグインが有効化され、Wordpressに読み込まれる最初の一度だけ実行される事をWordpressに認識させるために使います。

 
具体的にplugins loadedを利用するには次のような処理を記述します。

 

 
第一引数の’plugins_loaded’を指定する事でプラグインが有効化された時に実行する事を宣言し、第二引数の’doushitaraiino_init’で初期化処理関数を呼び出す事を指定しています。
つまり、プラグインが有効化された時に’doushitaraiino_init’関数を実行してね!とWordpressにお願いしているのです。

 

 

 

 

初期化処理関数とアクションフックを追加した例

初期化処理関数とアクションフックを追加した例を見ていきましょう。
先ほど紹介した、二つの手順を一つのプラグインのPHPファイルとして反映すると次のようなイメージになります。

 

 
このような記述をプラグインのPHP内に記述する事によって、プラグインが有効化された時に一度だけ特定の初期化関数を読んでね!とお願いする事が出来ます。

 

 

 

 

スポンサーリンク


この記事を読むうえで知っておきたい知識

この記事を読む上で知っておきたい事について紹介します。
何かに困った時に他の方法を思いついたり、用語がわからなくて読みづらいと感じた場合は、これから紹介する事を参考にしてみてください。

 

 

 

WordPressでプラグインを自作する上で絶対に知っておきたい事

【Wordpress】プラグインを自作する上で絶対に知っておきたい事
Wordpressのプラグインを自作する上で絶対に知っておきたい事というのは、プラグインを自作する上で必須となるプラグインのモジュール(PHPやJS、CSSファイル)の保存先や、各種設定などなどプラグインを自作する上で最低限必要となるWordpressや技術的な前提知識となります。

 
Wordpressのプラグインを作成する上ではWordpress上で動かなければなりませんし、Wordpressそのものに機能を追加するとなるとWordpressそのものに対する多少の前提知識がつきものとなってきます。

 
Wordpressのプラグインを自作する上で絶対に知っておきたい事を項目として挙げると次の通りとなります。

  • Wordpressのテーマ・プラグインの開発環境を構築する方法
  • プラグインの保存先
  • Wordpressに自作プラグインを登録・認識させる方法
  • Wordpressに自作プラグインの関数を処理させる方法
  • Wordpressが一番初めに実行するプラグインの処理
  • プラグイン有効化の時だけ実行される初期化処理について
  • Wordpressプラグイン開発時によく使うPHP関数について

 

Wordpressのテーマ・プラグインの開発環境を構築するというのは、Wordpress上で動作するWordpressのテーマとプラグインを開発する為に必要なIDE(統合開発環境)をパソコンにインストールしてプラグインやテーマの開発を進められるようにパソコン上の環境を整える事を意味しています。

 
Wordpressのテーマやプラグインを導入する前のWordpressを使い、何の記事も投稿されていない状態のWordpressを使いたい方はWordpressを一から構築するのが良いでしょう。

 
プラグインやテーマを自作したり、公開されているプラグインをダウンロード・インストールした後に自分好みにカスタマイズするにも、Wordpressの管理画面からのカスタマイズだけでは解析作業やコーディング作業が困難な場合があります。

 
そんな時は自分のパソコン上(ローカル環境)でワードプレスをテスト出来るようにセットアップして、統合開発環境上でプラグインやテーマを開発・カスタマイズするのが良いでしょう。

 
Wordpressのテーマ・プラグインの開発環境を構築する方法は次の流れで行います。

  • Wordpressのテーマ・プラグインの開発環境を構築する
  • Wordpress開発環境に必要なXamppの設定を行う
  • XamppにWordpressをインストールする
  • MySQLにWordpressに必要なデータベースを作成する
  • Wordpressの初期設定を行う
  • Xampp上のWordpressをEclipseに読み込ませ開発出来る状態にする
  • 開発しやすいようにEclipseの設定を変更する

 

【Wordpress】インストールしたプラグインの保存場所(ディレクトリ)
Wordpressでインストールしたプラグインの保存場所というのは、Wordpressに特別なカスタマイズを加えない限りは全ての環境で同じディレクトリに保存される事になります。

 
Wordpressはプラグインが決められた場所に保存される事によって、ここに保存されているのはプラグインと判断する事が出来、読み込んでWordpressの機能として追加する事が実現できるのです。

 
Wordpressでインストールしたプラグインの保存先ディレクトリはWordpressがインストールされているルートのディレクトリから「${ドメインルートディレクトリ}/public_html/wp-content/plugins」の場所に保存される事になります。

 
プラグインの保存場所を実際に確認するにはFTPアクセスできるツールでWordpressが稼働しているサーバにアクセスして、インストールしたプラグインの保存場所まで移動する事で確認する事が出来ます。

プラグインの保存場所を確認するのに「FFFTP」などのツールを利用するようにしましょう。
プラグインの保存場所は次の流れで確認する事が出来ます。

  • Wordpressを保存しているサーバにFTPアクセスする
  • プラグインの保存先ディレクトリに移動する

 

【Wordpressプラグイン自作】自作プラグインをWordpressに登録し認識させる方法
自作プラグインをWordpressに登録し認識させる方法では、自分で作成したプラグインをWordpressに認識させ、実際に管理画面などに表示する方法について紹介します。
自作プラグインをWordpressに登録し、実際に管理画面などで扱えるようにするにはポイントがあり、それは次の通りです。

  • プラグインのPHPファイル内にプラグイン標準情報を記述する
  • プラグインをプラグインのインストール先ディレクトリに保存する

 

【Wordpressプラグイン自作】プラグインの処理をWordpressに実行させる「フック」
プラグインの処理をWordpressに実行させるフックというのはWordpressのコアにプラグインの関数を読み込ませ、実行させるために利用するAPIの概念の事を言います。

 
フックというのは「引き込む」という意味合いがあり、文字通りプラグインにフックを利用する定義を記述する事で、Wordpressにプラグインの関数を特定のタイミングやポイントなどで引き込ませ、実行させます。

 
プラグインの処理をWordpressに実行させるフックは2つ存在し、次の通りとなります。

  • アクションフック
  • フィルターフック

 

【Wordpressプラグイン自作】プラグインで一番初めに実行されるPHPファイルはどれ?
ここで言うWordpressがプラグインを認識して一番初めに実行されるPHPファイルというのは、Wordpressがインストールされたプラグインを初めて認識し、どのファイルから実行するのか?という事を指しています。

 
プラグインのモジュールセットとして使っているPHPファイルが一つであればこういった疑問は起こらないかもしれませんが、PHPファイルを設定画面用、初期化処理用、コンテンツ作成用などと分けている場合、Wordpressはどこから処理を実行してくれるんだろうか?という疑問が起こるはずです。

 
Wordpressであってもプラグインを認識して使えるようにするにはプラグインの処理の「始め」を知る必要があり、プラグイン開発や公開プラグインの編集を行う上ではこのはじめとなる「処理の入口」を知っておく事が絶対必要になってきます。

 
結論を申し上げますと、Wordpressが一番初めにプラグインを認識して実行するファイルは「プラグイン標準情報」が記述されたPHPファイルから実行されます。
プラグイン標準情報が記載された「<?php~?>」で囲まれた部分の処理から実行される事になります。

 

【Wordpressプラグイン自作】Wordpressのプラグインの初期化処理の方法(plugins loaded)
Wordpressのプラグインの初期化処理の方法というのは、Wordpressに登録したプラグインが有効化された時に、プラグイン実行の為に必要な前提情報を起動時に一度だけ実行する処理の事を指します。

 
プラグインの最初の一度だけ処理され、変数として持ちたい値などを予め設定しておくことを「初期化」または「イニシャライズ」と言います。

 
Wordpressのプラグインの初期化というと理想的なのがプラグインの一覧画面からプラグインを有効化した時でしょう。
プラグインの一覧画面からプラグインを有効化した際に、初期化処理をさせるのに利用するのが、フィルターフックの一つである「plugins loaded」の利用です。

 
Wordpressのプラグインの初期化を利用する上では次の手順を踏むようにしましょう。

  • 初期化処理関数を作成する
  • 初期化処理関数をアクションフックで呼び出す

 

【Wordpressプラグイン自作】プラグイン開発で良く使う!よく見る!PHPの関数
プラグイン開発でよく使う、よく見る関数集というのは、実際にプラグイン開発の時に知っておくと実装が楽になったり、他の人が作ってくれたプラグインの処理でよく使われるPHP標準の関数の事を指します。

 
プラグイン独自で実装されている関数については各種プラグインの処理のコードを読む必要がありますが、PHPの標準の関数について知っておくだけでプラグイン開発が効率的に作業出来るようになったり、プラグインの処理を読む労力が削減されます。

 
プラグイン開発で良く使う、よく見るPHPの関数としては次のような関数があります。

  • require_once(${ファイル名})

 
Wordpressのプラグインを自作する上で絶対に知っておきたい事については「【WordPress】プラグインを自作する上で絶対に知っておきたい事」で簡単でわかりやすく、更に詳しく紹介しているのでチェックしていってくださいね。

 

 

 

 

WordPressのプラグインの初期化処理の方法 あとがき

WordPressのプラグインの初期化処理の方法について紹介しました。
Wordpressのプラグインを実行するにはまず、有効化するときに何かしらの定義を追加する事から始まります。

 
初期化のタイミングで定義されたアクションフックや、フィルターフックを使う事でWordpressはプラグインの機能を自分自身に登録して実行してくれるので、初期化の処理は、具体的にWordpressに処理を記述する上で基本中の基本となります。

 
「plugins_loaded」を利用する事で、プラグインが有効化されるタイミングで一度だけ初期化処理を呼び出す事が出来るので、無限にボタンが追加されてしまう・・・(愕然)なんて事もなくなり、プラグインの処理そのものもシンプルで簡単な物となりますよね。

 
Wordpressのプラグインの初期化処理の方法について基本を押さえてより自分に合ったプラグインを作成していきましょうね。

 

 

 

 

WordPressのプラグインの初期化処理の方法 まとめ

WordPressのプラグインの初期化処理の方法というのは、Wordpressに登録したプラグインが有効化された時に、プラグイン実行の為に必要な前提情報を起動時に一度だけ実行する処理の事を指します。

 
プラグインの最初の一度だけ処理され、変数として持ちたい値などを予め設定しておくことを「初期化」または「イニシャライズ」と言います。

 
Wordpressのプラグインの初期化というと理想的なのがプラグインの一覧画面からプラグインを有効化した時でしょう。
プラグインの一覧画面からプラグインを有効化した際に、初期化処理をさせるのに利用するのが、フィルターフックの一つである「plugins loaded」の利用です。

 
Wordpressのプラグインの初期化を利用する上では次の手順を踏むようにしましょう。

  • 初期化処理関数を作成する
  • 初期化処理関数をアクションフックで呼び出す

 
Wordpressでプラグインの一覧画面からプラグインを有効化した時だけ実行される、初期化用の関数を用意しましょう。
初期化用の関数は自作の関数となり、PHPの制約や他のプラグインで利用されている関数名と同じ名前をつけない限りは自由に関数名を付けても大丈夫です。

 
有効化した際に呼び出される関数なので、設定の一覧の中に独自のプラグイン専用の項目の追加やエディターにボタンを追加する各種アクションフックやフィルターフックを定義したり、プラグインで利用するショートコードの追加を行ったりすると良いでしょう。

 
初期化処理関数をWordpressに認識させ、プラグイン有効化時の一度だけ実行させるにはフィルターフックの「plugins loaded」を利用します。
「plugins loaded」はアクションフックの一つで、プラグインが有効化され、Wordpressに読み込まれる最初の一度だけ実行される事をWordpressに認識させるために使います。

 
具体的にplugins loadedを利用するには次のような処理を記述します。

 

 
初期化処理関数とアクションフックを追加した例を見ていきましょう。
先ほど紹介した、二つの手順を一つのプラグインのPHPファイルとして反映すると次のようなイメージになります。

 

 
最後までお読みいただきありがとうございました。

スポンサーリンク





 - Wordpress

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

【Wordpress】データ通信を削減してブログを高速化! Head Cleaner
【WordPress】データ通信を削減してブログを高速化! Head Cleaner

WordPressでブログを運営している人で、「もっとブログのパフォーマンスを上 …

【W3 Total Cache】レスポンシブテーマでPCとスマホの広告位置が一緒に!? 原因と対処方法
【W3 Total Cache】レスポンシブテーマでPCとスマホの広告位置が一緒に!? 原因と対処方法

W3 Total Cacheを入れてWordpressのブログを高速表示させよう …

【W3 Total Cache】ブラウザキャッシュ(Browser Cache)のCSS&JS設定
【W3 Total Cache】ブラウザキャッシュ(Browser Cache)のCSS&JS設定

WordPressでブログを運営している人でW3 Total Cacheのブラウ …

【Wordpress開発環境】レンタルサーバからローカル環境にWordpressをコピーし開発環境構築!
【WordPress開発環境】レンタルサーバからローカル環境にWordPressをコピーし開発環境構築!

WordPressをレンタルサーバーを借りてブログ運営していると「レンタルサーバ …

【Wordpressプラグイン自作】管理画面の任意画面のヘッダー作成時に処理を実行する方法
【WordPressプラグイン自作】管理画面の任意画面のヘッダー作成時に処理を実行する方法

WordPressのプラグインを自作していて、Wordpressの管理画面の任意 …

【Quick Adsense】moreタグの後に自動広告挿入!Quick Adsenseの設定
【Quick Adsense】moreタグの後に自動広告挿入!Quick Adsenseの設定

WordPressのブログで、広告を掲載してブログの収益化に挑戦している人も居る …

【Wordpressプラグイン自作】特定のイベント時に処理を実行させるアクションフック(add_action)
【WordPressプラグイン自作】特定のイベント時に処理を実行させるアクションフック(add_action)

WordPressのプラグインを自作するには自分のつくったプログラムがいつ実行さ …

Head Cleanerの注意点
【Head Cleaner】Head Cleanerのよくある不具合と解決方法

ブログのパフォーマンス高速化のためにHead Cleanerを導入している人は多 …

【W3 Total Cache】全体設定(General Settings)を設定しよう!
【W3 Total Cache】全体設定(General Settings)を設定しよう!

WordPressを運営していて、W3 Total Cacheを利用している人は …

【Stinger5】Stinger5のサイドバーの新規記事一覧を消す方法
【Stinger5】Stinger5のサイドバーの新規記事一覧を消す方法

WordPressでブログを運営している人で、Stinger5を利用している人も …