WordPressサイトを運営していると、functions.phpファイルを編集する機会があると思います。
しかしfunctions.phpを直接編集してしまうと、テーマを変えたい時に少し不便です。
当サイトではfunctions.phpファイルを直接編集するのではなく、機能ごとにプラグインを作ることを推奨していきます。
または、処理追記用のプラグインを作っておいて、何か処理を追加する必要があった場合は全てそのプラグインに追記していくと便利です。
その他にも、プラグインを作成できるようになることで以下のような要望を満たすこともできます。
- 既存のプラグインでは満足できない
- 手間な作業を自動化したい
- 記事投稿を自動化したい
- プラグインの仕様は全て把握しておかないと気が済まないので0から自分で組み立てたい
- なんとなく面白そうだから作ってみたい!
- 転職の採用面接や案件面談でWordPressのプラグインをPHPで作ったことを自分の強みとしてアピールしたい!
などなど。
基本的に「WordPress Codex 日本語版」を見ればプラグインを作ることは可能です。
しかし「WordPress Codex 日本語版」は、いきなり専門用語が出てきたり、1記事の文字量が多かったり、画像も全然なかったり・・・
プログラミング経験のない方はちょっと抵抗を感じると思います。
そこで今回から、僕が以前作成した「記事の自動投稿プラグイン」を例に挙げて、実際のプラグイン作成手順を具体的に、画像も多く使いながら紹介していきます。
Contents
第1回「プラグインファイルの構造を知ろう」
プラグインファイルの構造を知ろう
今回は「プラグインファイルの構造を知ろう」というテーマで進めていきます。
少しLinuxの知識が必要になってくるので、Linuxが全くわからないという方は以下の記事も一緒に参考にしてみてください。
関連記事:全くのド素人が基本的なLinuxコマンドを打てるようになる方法
DocumentRootディレクトリの中身
DocumentRootディレクトリとは
そもそもサーバーにはWordPress関係のファイルが格納されている「DocumentRoot」というフォルダがあります。
(フォルダは以下、ディレクトリと言い換えます)
DocumentRootの中身
画像を見ていただけばわかりますが、DocumentRootディレクトリ内には多くのファイルやディレクトリが格納されています。
wp-contentsディレクトリの中にプラグインに関するディレクトリが格納されています。
wp-contentsの中身
wp-contentsディレクトリとは
DocumentRootディレクトリの中のwp-contentsの中身を見てみましょう。
テーマに関する「themes」ディレクトリや、画像を保管しておく「uploads」ディレクトリがあります。wp-contentsは主にこのようなコンテンツを管理しています。
wp-contentsの中身
wp-contentsの中身は主に以下のファイル・ディレクトリで構成されています。
- plugins
- themes
- uploads
- ・・・
もうおわかりかもしれませんが、このpluginsディレクトリ内にプラグインが格納されています。
プラグインを管理画面からインストールする際、インストールボタンを押しますよね。
※画像は例です。このプラグインをインストールする必要はありません。
インストールボタンが押されると、WordPressが動いてこの「plugins」ディレクトリの中に、プラグインに関するファイルをダウンロードして格納しているイメージです。
pluginsディレクトリの中身
pluginsディレクトリとは
前述の通り、WordPressのプラグインに関するファイルやディレクトリが格納されているディレクトリです。
それではさらにpluginsディレクトリの中身を見ていきましょう。
pluginsの中身
pluginsディレクトリには基本的にディレクトリが格納されています。
pluginsディレクトリ内にあるディレクトリはそれぞれ、各プラグインのモジュール(phpファイル(拡張子が.php))がまとまったディレクトリです。
つまり、プラグインを自作していく場合、このpluginsディレクトリの中に、自作phpファイルをまとめたディレクトリを格納することで、WordPressの管理画面からプラグインを確認することができるようになります。
まとめ
プラグインファイルの構造まとめ
サーバーが管理しているプラグイン関連のファイルが、どのようにサーバーに格納されているか、イメージできましたでしょうか。
今回の内容をまとめます。
- 「DocumentRoot」にはWordPress関係のファイルが格納されている
- 「DocumentRoot」ディレクトリ内には「wp-contents」ディレクトリがある
- 「wp-contents」ディレクトリ内には「plugins」ディレクトリがある
- 「plugins」ディレクトリ内にプラグインに関するファイルやディレクトリが格納されている
- 「plugins」ディレクトリ直下には各プラグインのディレクトリがあり、さらにその中にモジュール(phpファイル(拡張子が.php))がまとめられている。
次回:プラグインファイルの作成方法
次回は早速このpluginsディレクトリに格納するためのディレクトリ・phpファイルの作成方法について説明していきます。
次回:【画像多め・初心者OK】WordPressプラグインファイルの作成方法