• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

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

提供: WordPress Codex 日本語版
移動先: 案内検索
(一部翻訳)
(クリーンアップ。)
 
1行目: 1行目:
== 説明 ==
+
{{NeedTrans|[[#Notes|参考]]節以降が}}
 +
 
 +
== 説明<span id="Description"></span> ==
  
 
[[Roles_and_Capabilities#Roles|権限グループ]]または特定のユーザーに[[Roles_and_Capabilities#Capabilities|権限]]を追加します。
 
[[Roles_and_Capabilities#Roles|権限グループ]]または特定のユーザーに[[Roles_and_Capabilities#Capabilities|権限]]を追加します。
 
権限グループまたはユーザーの権限変更は永続的なものです。追加された権限は、明示的に取り消されるまで有効です。
 
権限グループまたはユーザーの権限変更は永続的なものです。追加された権限は、明示的に取り消されるまで有効です。
  
'''注意: この設定はデータベースに保存されます(in table wp_options, field wp_user_roles)。そのため、テーマ/プラグインを有効化した時に実行したほうがいいかもしれません。'''
+
'''注意: この設定はデータベース(テーブル wp_options のフィールド wp_user_roles)へ保存されます。そのため、テーマやプラグインを有効化した時に実行したほうがいいかもしれません。'''
  
== 使い方 ==
+
== 使い方<span id="Usage"></span> ==
  
<?php  
+
<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 );  
 
  ?>  
 
  ?>  
or
+
</pre>
<?php
+
または
 +
<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 (just with WP_Roles)|文字列|権限グループ名|必須}}
+
{{Parameter|role|文字列|権限グループ名(クラス WP_Roles に保持されている)|必須}}
 
{{Parameter|cap|文字列|権限名|必須}}
 
{{Parameter|cap|文字列|権限名|必須}}
{{Parameter|grant|真偽値|権限グループがこの権限を実行できるかどうか|オプション|true}}
+
{{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>
'''注意: この設定はデータベースに保存されます(in table wp_options, field wp_user_roles)。そのため、テーマ/プラグインを有効化した時に実行したほうがいいかもしれません。'''
+
 
 +
'''注意: この設定はデータベース(テーブル 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'] ) ){ // Test if theme is 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 版 -->
  
{{Tag Footer}}
+
{{DEFAULTSORT:Add_cap}}
 +
[[Category:関数]]
  
[[Category:Functions]]
+
[[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();.

変更履歴

ソースファイル

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最新版との差分