回答編集履歴

3

ミスを訂正

2017/08/22 10:57

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
  else {
42
42
 
43
- echo 'すでに basic_contributor 権限グループは存在します。';
43
+ echo 'すでに test_group 権限グループは存在します。';
44
44
 
45
45
  }
46
46
 

2

再度追記

2017/08/22 10:57

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- ※ここから追記です。
13
+ ###※ここから追記です。
14
14
 
15
15
  add_roleはすでに存在する場合、上書きにはならなそうですがこれは関係ないですか?
16
16
 

1

追記

2017/08/22 10:48

投稿

IShix
IShix

スコア1724

test CHANGED
@@ -7,3 +7,67 @@
7
7
 
8
8
 
9
9
  [http://tontotakumi.com/web-seisaku/multi-login/](http://tontotakumi.com/web-seisaku/multi-login/)
10
+
11
+
12
+
13
+ ※ここから追記です。
14
+
15
+ add_roleはすでに存在する場合、上書きにはならなそうですがこれは関係ないですか?
16
+
17
+ ```PHP
18
+
19
+ $result = add_role(
20
+
21
+ 'test_group',
22
+
23
+ 'テスト権限',
24
+
25
+ array(
26
+
27
+ 'read' => true,
28
+
29
+ 'create_characters' => true
30
+
31
+ )
32
+
33
+ );
34
+
35
+ if ( null !== $result ) {
36
+
37
+ echo '新しい権限グループを作成しました!';
38
+
39
+ }
40
+
41
+ else {
42
+
43
+ echo 'すでに basic_contributor 権限グループは存在します。';
44
+
45
+ }
46
+
47
+ ```
48
+
49
+ [参考](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/add_role)
50
+
51
+
52
+
53
+ すでに存在する場合一度すべて取得して処理する必要がありそうです。
54
+
55
+ ※ コードは未検証ですので使用する際はご注意ください。
56
+
57
+ ```PHP
58
+
59
+ $roles = new WP_Roles();
60
+
61
+
62
+
63
+ foreach ($roles->roles as $key => $value ) {
64
+
65
+ $role = get_role($key);
66
+
67
+ if ( $key == 'test_group' ) $role->add_cap( 'read' );
68
+
69
+ }
70
+
71
+ ```
72
+
73
+ [参考](https://gatespace.jp/2012/05/24/custom-post-type-and-user-role-fix/)