管理画面ツールの中にメニューを追加したい
使用例
<?php
//使用例
$hogehoge = new HOGEHOGE();
class HOGEHOGE {
public function __construct() {
add_action( 'admin_menu', array( &$this, 'admin_menu_page' ) );
}
public function admin_menu_page()
{
//管理画面ツール内にメニュー追加
add_management_page(
'My Original Pluginページ',
'My Original Plugin',
'manage_options',
'wpmop',
array( &$this, 'wpmop_toolpage' )
);
}
//管理画面メニューをクリックしたときに内容を出力する関数
public function wpmop_toolpage()
{
?>
<div class="PluginPage">
<h2 class="PluginPage__head">プラグインページタイトル</h2>
<div class="PluginPage__body">プラグインページのコンテンツ</div>
<?php
}
}
解説
//利用するアクションは、admin_menu
add_action( 'admin_menu', array( &$this, 'hogehoge_method' ) );
//hogehoge_methodメソッド内で使用するメニュー追加関数
add_management_page(
'追加したページの<title>タグ',
'追加したページのツール内部にリスト表示されるタイトル',
'利用可能な権限',
'追加したページのスラッグ',
'コンテンツ表示に使われる関数名'
);
応用編
ob_start()関数の利用
引数で使われている関数内で出力されたものがそのままHTMLとして利用される関数がいくつかあります。
そのような関数の中で、普通にHTMLを書いているだけならば問題ないのですが、PHPで書いているときに「まだ出力したくない」のに、【勝手に出力しようとする関数】を使わなくてはいけない状況が出てくることがあります(例:the_content()のような関数)。
その場合、以下のようにob_start()関数を利用するとPHPのエラーが出ずに済みますので是非ご利用ください。
public function wpmop_subpage02()
{
ob_start();
/*
ここに勝手に出力されてしまう関数を含めたコードやHTMLを記載
*/
$data = ob_get_contents(); // 記録結果を変数に代入
ob_end_clean();
echo $data;
}
Posted by webmaster
関連記事
はじめに
PHPを少し勉強し、WordPressも少しずつカスタマイズできるようになり、さ ...
プラグインの基本構成・基本構造
プラグインファイルの基本構成 さて、いきなりプラグインファイルの基本構成です。 ...
WordPressにおけるカスタマイズの基礎(アクションとフィルター)
いきなりプラグインのカスタマイズに入る前に、「プラグインでのWordPressの ...
プラグインを使ったカスタマイズの基本形
さて、実際に自作のプラグイン(今はまだなんの機能もないですが)をアップロード・有 ...
決済用プラグインの制作~(1)制作前の確認
決済用プラグインの制作前の確認 さて以上で、WordPressの基本的なカスタマ ...