WP Content Framework のモジュールです。
Details
- PHP 5.6 以上
- WordPress 3.9.3 以上
composer require wp-content-framework/admin
- configs/config.php
設定値 | 説明 |
---|---|
main_menu_title | 管理画面のメニュー名(空でプラグイン名) [default = ''] |
menu_image | 管理画面のメニューアイコンを指定(空で歯車マーク) [default = ''] |
suppress_setting_help_contents | ヘルプを非表示にするかどうかを設定 [default = false] |
setting_page_title | 管理画面のメニューのタイトル [default = Dashboard] |
setting_page_priority | 管理画面のメニューの優先順位 [default = 0] |
setting_page_slug | 管理画面のメニューのslug [default = setting] |
action_links | アクションリンクの追加 |
plugin_row_meta | プラグイン情報リンクの追加 |
ツイッターのアカウントを指定(ダッシュボード 及び ヘルプに表示されます。空で未使用) [default = ''] | |
detail_url | 詳細リンクを指定(ダッシュボードに表示されます。空で未使用) [default = ''] |
github_repo | Githubのリポジトリを指定(ダッシュボード 及び エラー時の画面に表示されます。空で未使用) [default = ''] |
contact_url | プラグインのお問い合わせ用のページのURLを指定(ダッシュボードのヘルプに表示されます。空で未使用) [default = ''] |
github | Githubのアカウントを指定(ダッシュボードのヘルプに表示されます。空で未使用) [default = ''] |
- src/classes/controllers/admin に PHP ファイル (例:test.php) を追加
<?php
namespace Example_Plugin\Classes\Controllers\Admin;
if ( ! defined( 'EXAMPLE_PLUGIN' ) ) {
exit;
}
class Test extends \WP_Framework\Classes\Controllers\Admin\Base {
// タイトル
public function get_page_title() {
return 'Test';
}
// GET の時に行う動作
protected function get_action() {
}
// POST の時に行う動作
protected function post_action() {
$aaa = $this->app->input->post( 'aaa' );
// ...
}
// GET, POST 共通で行う動作
protected function common_action() {
// wp_enqueue_script('media-upload');
}
// view に渡す変数設定
public function get_view_args() {
return array(
'test' => 'aaaa',
);
}
}
POST の時に行う動作は事前にnonce checkが行われます。
- src/views/admin に PHP ファイル (例:test.php) を追加
<?php
if ( ! defined( 'EXAMPLE_PLUGIN' ) ) {
return;
}
/** @var \WP_Framework\Interfaces\Presenter $instance */
/** @var string $test */
?>
<?php $instance->form( 'open', $args ); ?>
<?php $instance->h( $test ); ?>
<?php $instance->form( 'input/submit', $args, array(
'name' => 'update',
'value' => 'Update',
'class' => 'button-primary'
) ); ?>
<?php $instance->form( 'close', $args ); ?>
-
$instance
- h:esc_html
- dump:var_dump
- id
- form
- url
- img
-
ヘルプの追加
- src/classes/controllers/admin に追加した上記 PHP ファイル に以下を追記
protected function get_help_contents() {
return array(
array(
'title' => 'Test',
'view' => 'test',
)
);
}
-
- src/views/admin/help に PHP ファイル (例:test.php) を追加
<?php
if ( ! defined( 'EXAMPLE_PLUGIN' ) ) {
return;
}
/** @var \WP_Framework\Interfaces\Presenter $instance */
?>
test
配列で指定します。
設定値 | 説明 |
---|---|
url | リンク または リンクを返す関数 (string or closure, required) |
label | リンクのテキスト または リンクのテキストを返す関数 (string or closure, required) |
new_tab | 新しいタブで開くかどうか (bool, optional) |
配列で指定します。
設定値 | 説明 |
---|---|
url | リンク または リンクを返す関数 (string or closure, required) |
label | リンクのテキスト または リンクのテキストを返す関数 (string or closure, required) |
new_tab | 新しいタブで開くかどうか (bool, optional) |