CMS wordpress

【WordPress】プラグイン作成③ ~管理画面の画面作成~

投稿日:2018年9月4日 更新日:

それではプラグインを作成していきます。

プラグインに最低限必要なのはプラグインファイルです。このあたりの作成方法は以下で解説しています。

プラグインファイルには最低限必要な情報のみを記述して、あとはクラスファイルに遷移する形にしています。

クラスファイルの作成

まずは管理側での問題作成画面を作っていきます。

管理画面へのプラグインメニューの追加に関しては以下に記述しています。

上記の記事で紹介した通り管理画面へのメニュー追加は「add_menu_page」関数を使用し、サブメニューは「add_submenu_page」関数を使用します。

ただ、クラスファイルに記述する場合とfunctions.phpで記述する場合と異なる記述方法になるので注意が必要です。

クラスファイルに記述する場合は、add_menu_page・add_submenu_pageどちらも関数を記述する際に配列で渡してあげなければ動作しません。

add_menu_page(‘問題管理ページ’, ‘試験作成’, ‘administrator’, ‘test’,’test_menu’);

add_menu_page(‘問題管理ページ’, ‘試験作成’, ‘administrator’, ‘test’,array($this,’test_menu’));

サブメニューを非表示にする

add_menu_pageを使って管理画面にメニュー追加すると、サブメニューにも自動的に追加されます。

このサブメニュー表示を非表示にしたいと思いますので「removeMenu」関数を使用します。

 

 

■非表示前

■非表示後

無事サブメニューのみ非表示にすることが出来ました。

非表示にしたいサブメニューのスラッグ名と番号が分からない場合は「var_dump」関数で$submenuを表示すると、配列の中身が確認できるので調べられると思います。

ちなみにメインメニューを非表示にする場合は$menuを使用します。removeMenu関数は複数のメニュー、サブメニューを非表示にすることも可能です。

ただ、非表示にremoveMenu関数を使用して非表示にした画面は、遷移しても表示できない状態になるみたいなので、

使用する予定がある画面に関してはCSSで非表示にしてあげる必要があるようです。

PHPファイルの読み込み

管理画面にメニュー作成ができたので実際にサブメニューを選択された時に表示するページを作成したいと思います。

現在のクラスファイルは以下のような内容になっています。

 

「問題管理ページ」は「testMenuSub」、「問題編集ページ」は「testCreateSub」を記述しています。

その下に以下の記述を行います。

 

その後elements/views配下にtestMenuPage.phpとtestCreatePage.phpを作成します。

とりあえず今回は画面作成だけ行って、ロジック部分はまた別の機会に取り上げたいと思います。

PHPファイルにはHTML,CSS,JavaScriptのみを記述しています。

あとで作りこみの際この辺りもファイルを分けたいと思います。

とりあえず下記のように作成しました。

■問題管理ページ

■問題作成ページ

悲しくなるほど不格好だけど、まず目指すところとしてはシンプルな出題プラグインなのでデザイン面は後々調整していきたいと思います。

管理画面の骨組みはできたので、問題登録や出題機能を実装していきたいと思います。

 

-CMS, wordpress

関連記事

【WordPress】プラグインの作成① ~作成の下準備~

いざ、プラグイン作成!! とりあえず材料は揃ったってことで、プラグインを作成したいと思います。 参考材料はプラグインの調査「試験問題・クイズ出題WordPressプラグイン「Quiz And Surv …

WordPressのテーマについて

WordPressのテーマとは WordPressでは、「テーマ」と呼ばれるファイル群を使ってWebサイトを表現しています。 テーマの中にhtmlやcss、JavaScriptなどのファイル群、そして …

WordPressのフック(hook)について

フックについて調べる経緯 WordPressでカスタマイズする、といえばテーマかプラグインについてだと思います。 WordPressがデフォルトで持つ機能といえば、管理画面で出来る機能です(当たり前で …

【WordPress】第2回STINGER8のカスタマイズ

第一回と言いつつ全く再開していなかった以下の記事の続きになります。 【WordPress】第一回STINGER8のカスタマイズ 以前の記事で管理画面からCSSを編集していますが、これを行う前に確認する …

【WordPress】プラグイン作成② ~管理画面にメニューを追加~

フックを使って管理画面にプラグインメニューを追加 前回、プラグインの入れ物を作成し、プラグインメニューに追加しました。 現在処理はなにも記述されていませんので、実施に機能を搭載していきたいと思います。 …