WordPress

構文

ワードプレスで独自プラグインを作る

更新日:2024-05-10

◆独自のプラグインを作る

ここではダッシュボードに独自プラグインのメニューと画面を表示するまでを紹介します。
必要な手順は以下の通りです。

  • プラグインのフォルダを用意する
  • プラグインのphpファイルを用意する
  • プラグインメニューで有効化

プラグイン画面もテキストを表示するだけなので、段階的にはプラグインを作り始める前準備の段階までになると思います。
なお、サーバーへftpでアクセスできることを前提として説明しています。

◆① プラグインのフォルダを用意する

ftpでサーバーにログインしてワードプレスのインストールされているフォルダに移動します

//sampleというフォルダにワードプレスがインストールされていた場合
/www/sample
 ┣ /wp-admin
 ┣ /wp-content
 ┣ /wp-includes
 ┣ index.php
 ┣ .htaccess
 ┗ …

「wp-admin」「wp-content」「wp-includes」といったフォルダがあるので、「/wp-content/plugins/」へ移動します

//他のプラグインがインストールされていれば「plugin1」「plugin2」のようにフォルダが存在していると思います
/www/sample/wp-content/plugins
 ┣ /plugin1
 ┣ /plugin2
 ┣ /plugin3
 ┗ …

「plugins」フォルダを開いたら、そこで新しいフォルダを作成します

フォルダ名は他のプラグインと被らない名前にします。

今回は「sample-plug」という名前でフォルダを用意します。

/www/sample/wp-content/plugins
 ┣ /plugin1
 ┣ /plugin2
 ┣ /plugin3
 ┣ /sample-plug
 ┗ …

フォルダを用意したら、そのフォルダ内へ移動します

/www/sample/wp-content/plugins/sample-plug
 ┗ …空っぽ

◆② プラグインのphpファイルを用意する

①で準備したプラグインフォルダに、プラグインファイル(phpファイル)を作成する

今回は「sample-plug-index.php」という名前でファイルを用意します。

/www/sample/wp-content/plugins/sample-plug
 ┗ sample-plug-index.php

上で作成した「sample-plug-index.php」ファイルを開いて、プラグインヘッダーを書きます。
今回は最低限必要そうな項目しか取り上げていないです。

前後の「/*」「*/」で囲むのが重要なので、忘れないようにしてください。
「Plugin Name」は必須なので、必ず入力してください。

PHP (sample-plug-index.php)

<?php
/*
Plugin Name: プラグインのテスト  //【プラグイン名】(必須)
Plugin URI:      //【プラグインのホームページURL】
Description: テスト用のプラグインです  //【プラグインの簡単な説明】(140文字未満)
Version: 1.0.0    //【プラグインのバージョン】
Author:      //【プラグインの作成者名】
Author URI:     //【作成者のホームページURL】
*/
?>

メニュー追加用の関数を用意
ダッシュボードに表示されるメニューを用意します。
今回は「sample_plug_test_block」という関数を用意して、その中にメニュー追加用の「add_menu_page」を記載します。

PHP (sample-plug-index.php)

<?php
/*
Plugin Name: プラグインのテスト
Plugin URI:
Description: テスト用のプラグインです
Version: 1.0.0
Author: 
Author URI: 
*/

function sample_plug_test_block(){

 add_menu_page(
  'サンプルプラグイン-タイトル',  //【ページのtitleに表示されるテキスト】
  'サンプルプラグイン',  //【メニューに表示されるテキスト】
  'administrator',  //【アクセス権限】
  'sample-plug-test',  //【スラッグ名】
  'sample_plug_test_func',  //【実行する関数】
  'dashicons-admin-generic',  //【表示させるアイコン】
  21  //【表示位置】
 );

}
?>

add_menu_page

add_menu_page(
$page_title,
$menu_title,
$capability,
$menu_slug,
$callback,
$icon_url,
$position
);

各パラメーターは以下の通りです。

type名

内容

$page_title必須

ページのタイトルに表示されます

$menu_title必須

メニューに表示されます

$capability必須

アクセス権限

  • administrator(管理者)

    すべての管理機能にアクセスができる。

  • editor(編集者)

    他のユーザーも含む、全ての投稿の公開、管理ができる。

  • author(投稿者)

    自身の投稿を公開、管理できる。

  • contributor(寄稿者)

    自身の投稿を管理できるが、公開は出来ない。

  • subscriber(購読者)

    自身のプロフィールのみ変更できる。

$menu_slug必須

スラッグ名

管理画面上で独自プラグインページを表示したときに
/wp-admin/admin.php?page=sample-plug-test
のように表示されます。

$callback

実行する関数

$icon_url

表示させるアイコン
アイコンの種類は「こちら(https://developer.wordpress.orgサイト)」を確認してみてください。

$position

表示位置
以下の数字が、デフォルトメニューの位置番号なので、「固定ページ」の下にメニューを表示させたい場合は「21」というように番号を設定します。

  • 2 – Dashboard(ダッシュボード)
  • 4 – Separator(セパレーター)
  • 5 – Posts(投稿)
  • 10 – Media(メディア)
  • 15 – Links(リンク)
  • 20 – Pages(固定ページ)
  • 25 – Comments(コメント)
  • 59 – Separator(セパレーター)
  • 60 – Appearance(外観)
  • 65 – Plugins(プラグイン)
  • 70 – Users(ユーザー)
  • 75 – Tools(ツール)
  • 80 – Settings(設定)
  • 99 – Separator(セパレーター)

アクションフックで用意した関数を読み込み
ワードプレスの関数、「add_action(アクションフック)」を使って、先ほど用意した追加メニューの関数を読み込ませます。

PHP (sample-plug-index.php)

<?php
/*
Plugin Name: プラグインのテスト
Plugin URI:
Description: テスト用のプラグインです
Version: 1.0.0
Author: 
Author URI: 
*/

function sample_plug_test_block(){

 add_menu_page(
  'サンプルプラグイン-タイトル',
  'サンプルプラグイン',
  'administrator',
  'sample-plug-test',
  'sample_plug_test_func',
  'dashicons-admin-generic',
  21
 );

}

add_action( 'admin_menu', 'sample_plug_test_block' );  //【アクションフック】
?>

add_action

add_action( $hook_name, $callback, $priority, $accepted_args );

各パラメーターは以下の通りです。
今回は「admin_menu」を使っています。

type名

内容

$hook_name必須

フック名
フック一覧は「こちら(https://developer.wordpress.org/サイト)

  • admin_menu

    管理メニューが読み込まれる前に発生

$callback必須

アクションが呼び出されたときのコールバック(関数名)

$priority

関数が実行される順番を整数で指定
デフォルト=10(何も設定しない場合)

$accepted_args

関数が引き受ける引数の数を指定
デフォルト=1(何も設定しない場合)

関数を用意
今回はテキストを表示するだけです。

PHP (sample-plug-index.php)

<?php
/*
Plugin Name: プラグインのテスト
Plugin URI:
Description: テスト用のプラグインです
Version: 1.0.0
Author: 
Author URI: 
*/

function sample_plug_test_block(){

 add_menu_page(
  'サンプルプラグイン-タイトル',
  'サンプルプラグイン',
  'administrator',
  'sample-plug-test',
  'sample_plug_test_func',
  'dashicons-admin-generic',
  21
 );

}
add_action( 'admin_menu', 'sample_plug_test_block' );

//実行する関数
function sample_plug_test_func(){
 echo('プラグインの画面が表示されます');
}
?>

◆③ プラグインメニューで有効化する

プラグインメニューに「Plugin Name」で設定したプラグインが表示されているので、「有効化」すると、ダッシュボードのメニューに自作プラグインメニューが追加されます。
そのメニューをクリックすると、phpファイルの「実行する関数」で用意した内容が表示されます。

「実行する関数」のところを工夫していくことで、様々な処理を行わせることができるようになります。