WordPress

メニュー追加

前回作成したプラグインを、管理画面から有効にしてみます。

メニューのプラグインの中にアクセスすると、前回作ったプラグイン「SamplePlugin1」が見えるので、その下の有効化をクリックします。

20160624_001

ただ、この状態ではなにも変化は起きません。
プラグインの中になにもプログラムを書いていないので、変化しないのですね。

では、次にやることと言えば、プラグインを管理画面のメニューの表示させてみます。

[php]
<?php
/*
Plugin Name: SamplePlugin1
Plugin URI: http://
Description: サンプルプラグイン。
Version: 1.0
Author: sample
Author URI: http://
License: GPL2
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

class SamplePlugin1
{

function __construct()
{
add_action(‘admin_menu’, array($this, ‘add_pages’));
}

function add_pages()
{
add_menu_page(
‘SamplePlugin1 Plugin Settings’,
‘SamplePlugin1’,
‘manage_options’,
‘SamplePluginMenu’,
array($this, ‘sample_plugin’)
);
}

}

new SamplePlugin1;
[/php]

上記のコードをプログラムの中に記載します。

まず、__constructというコンストラクタ内に

[php]
add_action(‘admin_menu’, array($this, ‘add_pages’));
[/php]

と書きます。
これは同じクラス内のメソッド「add_pages」を呼ぶ為のアクションとなります。
アクションについてはwordpressに備わっている考え方で、フィルターフック、アクションフックという考え方があり、それぞれ何らかのきっかけがあった時に実行する命令。という意味で覚えておくといいと思います。

次にコンストラクタに書いた命令で「add_pages」という記載がありますが、これは同じクラス内のメソッド「function add_pages()」を呼ぶという意味になります。

なので、このメソッドを新しく作り、内部にメニューに表示する命令を書きます。

[php]
add_menu_page(
‘SamplePlugin1 Plugin Settings’,
‘SamplePlugin1’,
‘manage_options’,
‘SamplePluginMenu’,
array($this, ‘sample_plugin’)
);
[/php]

ここまで書いたらファイルを保存して、wordpressの管理画面内にアクセスしてみます。
すると「SamplePlugin1」というメニューが表示されます。
クリックはできるのですが、この状態だと、まだなにも表示はされません。

20160624_002

add_actionと、add_menu_pageの関数はwordpressに実装済みの関数なので、以下のページを参考にするといいかと思います。

■add_action
add_action

■add_menu_page
add_menu_page

コメントを残す

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