teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追記

2016/03/20 10:30

投稿

flat
flat

スコア617

answer CHANGED
@@ -25,4 +25,10 @@
25
25
  }
26
26
  add_action('admin_menu', 'add_my_pages');
27
27
  ```
28
- 先程Codexを見てみましたが、こんな事一切書いてありませんでしたね……。
28
+ 先程Codexを見てみましたが、こんな事一切書いてありませんでしたね……。
29
+
30
+ 追記
31
+ Codexに書いていないと思っていましたが、良く見たら書いてありました。(ごめんなさい!)
32
+
33
+ [管理メニューの追加 - WordPress Codex 日本語版](https://wpdocs.osdn.jp/管理メニューの追加#add_submenu_page_.E3.81.AE.E4.BD.BF.E7.94.A8)
34
+ > 重複したリンクタイトルを回避するには、最初に parent_slug パラメータと menu_slug パラメータに同じ値を指定して add_submenu_page を呼び出します。

2

コードを見やすく修正

2016/03/20 10:30

投稿

flat
flat

スコア617

answer CHANGED
@@ -3,16 +3,24 @@
3
3
  ```PHP
4
4
  function add_my_pages() {
5
5
  add_menu_page(
6
- "親メニュー",
6
+ '親メニュー', // Page Title
7
- "親メニュー",
7
+ '親メニュー', // Menu Title
8
- "manage_options",
8
+ 'manage_options', // Capability
9
- "parent_menu",
9
+ 'parent_menu', // Slug
10
- "my_test_page",
10
+ 'my_test_page', // Callback
11
- null,
11
+ null, // Icon URL
12
- 4
12
+ 4 // Position
13
13
  );
14
14
 
15
+ add_submenu_page(
16
+ 'parent_menu', // Parent Slug
17
+ '親メニュー', // Page Title
18
+ '一覧', // Menu Title
19
+ 'manage_options', // Capability
15
- add_submenu_page( 'parent_menu', '親メニュー', '一覧', 'manage_options', 'parent_menu', 'my_test_page' );
20
+ 'parent_menu', // Slug (same as Parent Slug)
21
+ 'my_test_page' // Callback
22
+ );
23
+
16
24
  add_submenu_page( 'parent_menu', '子メニュー', '子メニュー', 'manage_options', 'child_menu', 'my_test_page' );
17
25
  }
18
26
  add_action('admin_menu', 'add_my_pages');

1

誤りの修正

2016/03/20 10:19

投稿

flat
flat

スコア617

answer CHANGED
@@ -1,6 +1,5 @@
1
1
  メニューの項目用にもう一度親メニューと同じ子メニューを追加する事で可能になります。
2
- ここで注意しなければいけないポイントは`0`というパラメータを`add_submenu_page`に渡す必要があるという事です。
3
- この`0`は親メニューと同じ内容の子メニュー**以外**にも渡す必要があり
2
+ 勘違いしていた部分を削除しした(ごめんなさい!普通に権限を指定して下さい)
4
3
  ```PHP
5
4
  function add_my_pages() {
6
5
  add_menu_page(
@@ -13,8 +12,8 @@
13
12
  4
14
13
  );
15
14
 
16
- add_submenu_page( 'parent_menu', '親メニュー', '一覧', 0, 'parent_menu', 'my_test_page' );
15
+ add_submenu_page( 'parent_menu', '親メニュー', '一覧', 'manage_options', 'parent_menu', 'my_test_page' );
17
- add_submenu_page( 'parent_menu', '子メニュー', '子メニュー', 0, 'child_menu', 'my_test_page' );
16
+ add_submenu_page( 'parent_menu', '子メニュー', '子メニュー', 'manage_options', 'child_menu', 'my_test_page' );
18
17
  }
19
18
  add_action('admin_menu', 'add_my_pages');
20
19
  ```