- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
「関数リファレンス/add cap」の版間の差分
(一部翻訳) |
細 (クリーンアップ。) |
||
1行目: | 1行目: | ||
− | == 説明 == | + | {{NeedTrans|[[#Notes|参考]]節以降が}} |
+ | |||
+ | == 説明<span id="Description"></span> == | ||
[[Roles_and_Capabilities#Roles|権限グループ]]または特定のユーザーに[[Roles_and_Capabilities#Capabilities|権限]]を追加します。 | [[Roles_and_Capabilities#Roles|権限グループ]]または特定のユーザーに[[Roles_and_Capabilities#Capabilities|権限]]を追加します。 | ||
権限グループまたはユーザーの権限変更は永続的なものです。追加された権限は、明示的に取り消されるまで有効です。 | 権限グループまたはユーザーの権限変更は永続的なものです。追加された権限は、明示的に取り消されるまで有効です。 | ||
− | '''注意: | + | '''注意: この設定はデータベース(テーブル wp_options のフィールド wp_user_roles)へ保存されます。そのため、テーマやプラグインを有効化した時に実行したほうがいいかもしれません。''' |
− | == 使い方 == | + | == 使い方<span id="Usage"></span> == |
− | + | <pre> | |
+ | <?php | ||
global $wp_roles; // global class wp-includes/capabilities.php | global $wp_roles; // global class wp-includes/capabilities.php | ||
$wp_roles->add_cap( $role, $cap ); | $wp_roles->add_cap( $role, $cap ); | ||
?> | ?> | ||
− | + | </pre> | |
− | + | または | |
+ | <pre> | ||
+ | <?php | ||
$role = get_role( 'author' ); | $role = get_role( 'author' ); | ||
$role->add_cap( $cap ); | $role->add_cap( $cap ); | ||
− | + | ?> | |
+ | </pre> | ||
− | == パラメータ == | + | == パラメータ<span id="Parameters"></span> == |
− | {{Parameter|role | + | {{Parameter|role|文字列|権限グループ名(クラス WP_Roles に保持されている)|必須}} |
{{Parameter|cap|文字列|権限名|必須}} | {{Parameter|cap|文字列|権限名|必須}} | ||
− | {{Parameter|grant|真偽値| | + | {{Parameter|grant|真偽値|権限グループにこの権限を付与するかどうか|オプション|true}} |
+ | |||
+ | == 戻り値<span id="Return_Values"></span> == | ||
− | |||
; void : この関数は値を返しません。 | ; void : この関数は値を返しません。 | ||
− | == 用例 == | + | == 用例<span id="Examples"></span> == |
+ | |||
<pre> | <pre> | ||
function add_theme_caps() { | function add_theme_caps() { | ||
33行目: | 41行目: | ||
$role = get_role( 'author' ); | $role = get_role( 'author' ); | ||
− | // | + | // これは、クラスインスタンスにアクセスする場合のみ機能します。 |
// 現在のテーマにおいてのみ、投稿者は他の人の投稿を編集することができます。 | // 現在のテーマにおいてのみ、投稿者は他の人の投稿を編集することができます。 | ||
$role->add_cap( 'edit_others_posts' ); | $role->add_cap( 'edit_others_posts' ); | ||
39行目: | 47行目: | ||
add_action( 'admin_init', 'add_theme_caps'); | add_action( 'admin_init', 'add_theme_caps'); | ||
</pre> | </pre> | ||
− | '''注意: | + | |
+ | '''注意: この設定はデータベース(テーブル wp_options のフィールド wp_user_roles)へ保存されます。そのため、テーマやプラグインを有効化した時に実行したほうがいいかもしれません。''' | ||
+ | |||
<pre> | <pre> | ||
function add_theme_caps(){ | function add_theme_caps(){ | ||
47行目: | 57行目: | ||
$role = get_role( 'author' ); | $role = get_role( 'author' ); | ||
− | if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ){ // | + | if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ){ // テーマが有効化されたか調べる |
// テーマが有効化された | // テーマが有効化された | ||
− | // | + | // これは、クラスインスタンスにアクセスする場合のみ機能します。 |
// 現在のテーマにおいてのみ、投稿者は他の人の投稿を編集することができます。 | // 現在のテーマにおいてのみ、投稿者は他の人の投稿を編集することができます。 | ||
$role->add_cap( 'edit_others_posts' ); | $role->add_cap( 'edit_others_posts' ); | ||
62行目: | 72行目: | ||
add_action( 'load-themes.php', 'add_theme_caps' ); | add_action( 'load-themes.php', 'add_theme_caps' ); | ||
</pre> | </pre> | ||
+ | |||
特定のユーザーに権限を追加する : | 特定のユーザーに権限を追加する : | ||
+ | |||
<pre> | <pre> | ||
$user = new WP_User( $user_id ); | $user = new WP_User( $user_id ); | ||
68行目: | 80行目: | ||
</pre> | </pre> | ||
− | == 参考 == | + | == 参考<span id="Notes"></span> == |
− | + | ||
There is '''no''' public function called <code>add_cap()</code> - just the class methods inside <code>WP_Roles</code>, <code>WP_Role</code>, <code>WP_User</code> that can add capabilities. | There is '''no''' public function called <code>add_cap()</code> - just the class methods inside <code>WP_Roles</code>, <code>WP_Role</code>, <code>WP_User</code> that can add capabilities. | ||
75行目: | 86行目: | ||
If you want to add a new role with capabilities, just add them when you add the role using <code>add_role();</code>. | If you want to add a new role with capabilities, just add them when you add the role using <code>add_role();</code>. | ||
− | == 変更履歴 == | + | == 変更履歴<span id="Change_Log"></span> == |
* Since [[Version 2.0|2.0.0]] | * Since [[Version 2.0|2.0.0]] | ||
− | == ソースファイル == | + | == ソースファイル<span id="Source_File"></span> == |
<tt>add_cap</tt> は {{Trac|wp-includes/class-wp-role.php}}, {{Trac|wp-includes/class-wp-roles.php}}, {{Trac|wp-includes/class-wp-user.php}} にあります。 | <tt>add_cap</tt> は {{Trac|wp-includes/class-wp-role.php}}, {{Trac|wp-includes/class-wp-roles.php}}, {{Trac|wp-includes/class-wp-user.php}} にあります。 | ||
− | + | == 関連項目<span id="Related"></span> == | |
− | == | + | |
{{Role and Capability Tags}} | {{Role and Capability Tags}} | ||
+ | {{Tag Footer}} | ||
− | {{原文|Function Reference/add cap|161773}} | + | {{原文|Function Reference/add cap|161773}} <!-- 08:15, 6 November 2017 Tazotodua 版 --> |
− | {{ | + | {{DEFAULTSORT:Add_cap}} |
+ | [[Category:関数]] | ||
− | [[ | + | [[en:Function_Reference/add_cap]] |
2018年8月24日 (金) 23:10時点における最新版
このページ「関数リファレンス/add cap」は参考節以降が未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています。
説明
権限グループまたは特定のユーザーに権限を追加します。 権限グループまたはユーザーの権限変更は永続的なものです。追加された権限は、明示的に取り消されるまで有効です。
注意: この設定はデータベース(テーブル wp_options のフィールド wp_user_roles)へ保存されます。そのため、テーマやプラグインを有効化した時に実行したほうがいいかもしれません。
使い方
<?php global $wp_roles; // global class wp-includes/capabilities.php $wp_roles->add_cap( $role, $cap ); ?>
または
<?php $role = get_role( 'author' ); $role->add_cap( $cap ); ?>
パラメータ
- role
- (文字列) (必須) 権限グループ名(クラス WP_Roles に保持されている)
- 初期値: なし
- cap
- (文字列) (必須) 権限名
- 初期値: なし
- grant
- (真偽値) (オプション) 権限グループにこの権限を付与するかどうか
- 初期値: true
戻り値
- void
- この関数は値を返しません。
用例
function add_theme_caps() { // 投稿者の権限グループを取得 $role = get_role( 'author' ); // これは、クラスインスタンスにアクセスする場合のみ機能します。 // 現在のテーマにおいてのみ、投稿者は他の人の投稿を編集することができます。 $role->add_cap( 'edit_others_posts' ); } add_action( 'admin_init', 'add_theme_caps');
注意: この設定はデータベース(テーブル wp_options のフィールド wp_user_roles)へ保存されます。そのため、テーマやプラグインを有効化した時に実行したほうがいいかもしれません。
function add_theme_caps(){ global $pagenow; // 投稿者の権限グループを取得 $role = get_role( 'author' ); if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ){ // テーマが有効化されたか調べる // テーマが有効化された // これは、クラスインスタンスにアクセスする場合のみ機能します。 // 現在のテーマにおいてのみ、投稿者は他の人の投稿を編集することができます。 $role->add_cap( 'edit_others_posts' ); } else { // テーマが無効化された // テーマが無効化された時、権限を削除する $role->remove_cap( 'edit_others_posts' ); } } add_action( 'load-themes.php', 'add_theme_caps' );
特定のユーザーに権限を追加する :
$user = new WP_User( $user_id ); $user->add_cap( 'can_edit_posts' );
参考
There is no public function called add_cap()
- just the class methods inside WP_Roles
, WP_Role
, WP_User
that can add capabilities.
If you want to add a new role with capabilities, just add them when you add the role using add_role();
.
変更履歴
- Since 2.0.0
ソースファイル
add_cap は wp-includes/class-wp-role.php
, wp-includes/class-wp-roles.php
, wp-includes/class-wp-user.php
にあります。
関連項目
- add_role()
- remove_role()
- get_role()
- add_cap() /en
- remove_cap() /en
最新英語版: WordPress Codex » Function Reference/add cap (最新版との差分)