当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「関数リファレンス/add cap」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(en:Function Reference/add cap 08:15, 6 November 2017‎ Tazotodua 版)
 
(一部翻訳)
1行目: 1行目:
== Description ==
+
== 説明 ==
  
Adds a [[Roles_and_Capabilities#Capabilities|capability]] to a [[Roles_and_Capabilities#Roles|role]] or specific user. Changing the capabilities of a role or user is persistent, meaning the added capability will stay in effect until explicitly revoked.
+
[[Roles_and_Capabilities#Roles|権限グループ]]または特定のユーザーに[[Roles_and_Capabilities#Capabilities|権限]]を追加します。
 +
権限グループまたはユーザーの権限変更は永続的なものです。追加された権限は、明示的に取り消されるまで有効です。
  
'''N.B.: This setting is saved to the database (in table wp_options, field wp_user_roles), so it might be better to run this on theme/plugin activation'''
+
'''注意: この設定はデータベースに保存されます(in table wp_options, field wp_user_roles)。そのため、テーマ/プラグインを有効化した時に実行したほうがいいかもしれません。'''
  
== Usage ==
+
== 使い方 ==
  
 
  <?php  
 
  <?php  
17行目: 18行目:
 
  ?>
 
  ?>
  
== Parameters ==
+
== パラメータ ==
  
{{Parameter|role (just with WP_Roles)|string|role name|Required}}
+
{{Parameter|role (just with WP_Roles)|文字列|権限グループ名|必須}}
{{Parameter|cap|string|capability name|Required}}
+
{{Parameter|cap|文字列|権限名|必須}}
{{Parameter|grant|boolean|Whether the role is capable of performing this capability.|optional|true}}
+
{{Parameter|grant|真偽値|権限グループがこの権限を実行できるかどうか|オプション|true}}
  
== Return Values ==
+
== 戻り値 ==
; void : No return value
+
; void : この関数は値を返しません。
  
== Example ==
+
== 用例 ==
 
<pre>
 
<pre>
 
function add_theme_caps() {
 
function add_theme_caps() {
     // gets the author role
+
     // 投稿者の権限グループを取得
 
     $role = get_role( 'author' );
 
     $role = get_role( 'author' );
  
     // This only works, because it accesses the class instance.
+
     // これは、クラスインスタンスにアクセスするためにのみ機能します。
     // would allow the author to edit others' posts for current theme only
+
     // 現在のテーマにおいてのみ、投稿者は他の人の投稿を編集することができます。
 
     $role->add_cap( 'edit_others_posts' );  
 
     $role->add_cap( 'edit_others_posts' );  
 
}
 
}
 
add_action( 'admin_init', 'add_theme_caps');
 
add_action( 'admin_init', 'add_theme_caps');
 
</pre>
 
</pre>
'''NB: This setting is saved to the database, so it might be better to run this on theme/plugin activation'''
+
'''注意: この設定はデータベースに保存されます(in table wp_options, field wp_user_roles)。そのため、テーマ/プラグインを有効化した時に実行したほうがいいかもしれません。'''
 
<pre>
 
<pre>
 
function add_theme_caps(){
 
function add_theme_caps(){
 
   global $pagenow;
 
   global $pagenow;
  
   // gets the author role
+
   // 投稿者の権限グループを取得
 
   $role = get_role( 'author' );
 
   $role = get_role( 'author' );
  
 
   if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ){ // Test if theme is activated
 
   if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ){ // Test if theme is activated
     // Theme is activated
+
     // テーマが有効化された
  
     // This only works, because it accesses the class instance.
+
     // これは、クラスインスタンスにアクセスするためにのみ機能します。
     // would allow the author to edit others' posts for current theme only
+
     // 現在のテーマにおいてのみ、投稿者は他の人の投稿を編集することができます。
 
     $role->add_cap( 'edit_others_posts' );  
 
     $role->add_cap( 'edit_others_posts' );  
 
   }
 
   }
 
   else {
 
   else {
     // Theme is deactivated
+
     // テーマが無効化された
     // Remove the capability when theme is deactivated
+
     // テーマが無効化された時、権限を削除する
 
     $role->remove_cap( 'edit_others_posts' );  
 
     $role->remove_cap( 'edit_others_posts' );  
 
   }
 
   }
61行目: 62行目:
 
add_action( 'load-themes.php', 'add_theme_caps' );
 
add_action( 'load-themes.php', 'add_theme_caps' );
 
</pre>
 
</pre>
To add capability to specific user :
+
特定のユーザーに権限を追加する :
 
<pre>
 
<pre>
 
$user = new WP_User( $user_id );
 
$user = new WP_User( $user_id );
67行目: 68行目:
 
</pre>
 
</pre>
  
== Notes ==
+
== 参考 ==
  
  
74行目: 75行目:
 
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>.
  
== Changelog ==
+
== 変更履歴 ==
  
 
* Since [[Version 2.0|2.0.0]]
 
* Since [[Version 2.0|2.0.0]]
  
==Source File==
+
== ソースファイル ==
  
<tt>add_cap</tt> is located in three places:
+
<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}} にあります。
  
{{Trac|wp-includes/class-wp-role.php}}, {{Trac|wp-includes/class-wp-roles.php}}, {{Trac|wp-includes/class-wp-user.php}}
 
  
== Related ==
+
== 関連資料 ==
  
 
{{Role and Capability Tags}}
 
{{Role and Capability Tags}}

2018年8月23日 (木) 14:04時点における版

説明

権限グループまたは特定のユーザーに権限を追加します。 権限グループまたはユーザーの権限変更は永続的なものです。追加された権限は、明示的に取り消されるまで有効です。

注意: この設定はデータベースに保存されます(in table wp_options, field wp_user_roles)。そのため、テーマ/プラグインを有効化した時に実行したほうがいいかもしれません。

使い方

<?php 
 global $wp_roles; // global class wp-includes/capabilities.php
 $wp_roles->add_cap( $role, $cap ); 
?> 
or
<?php
 $role = get_role( 'author' );
 $role->add_cap( $cap );
?>

パラメータ

role (just with 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');

注意: この設定はデータベースに保存されます(in table wp_options, field wp_user_roles)。そのため、テーマ/プラグインを有効化した時に実行したほうがいいかもしれません。

function add_theme_caps(){
  global $pagenow;

  // 投稿者の権限グループを取得
  $role = get_role( 'author' );

  if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ){ // Test if theme is 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();.

変更履歴

ソースファイル

add_capwp-includes/class-wp-role.php, wp-includes/class-wp-roles.php, wp-includes/class-wp-user.php にあります。


関連資料

権限グループと権限:


最新英語版: WordPress Codex » Function Reference/add cap最新版との差分


関数リファレンステンプレートタグ目次もご覧ください。