1

WordPress ユーザーが自分のページ (つまり、彼が作成したページ) のみを編集できるように制限する最も簡単な方法を探しています。いくつかのユーザー マネージャー プラグインについて読んだことがありますが、私のニーズではやり過ぎのように思われるため、functions.php などにいくつかのコード行を追加して同じ結果を得ることができるかどうか疑問に思います。

4

1 に答える 1

1

次のように新しいロールを追加することでこれを行うことができます。

<?php add_role( $role, $display_name, $capabilities ); ?> 

この設定はデータベース (テーブル wp_options、フィールド wp_user_roles 内) に保存されるため、テーマ/プラグインの有効化時にこれを実行することをお勧めします。

成功すると WP_Role オブジェクトを返し、そのロールが既に存在する場合は null を返します。

新しい「基本貢献者」ロールを作成します。

$result = add_role(
    'basic_contributor',
    __( 'Basic Contributor' ),
    array(
        'read'         => true,  // true allows this capability
        'edit_posts'   => true,
        'delete_posts' => false, // Use false to explicitly deny
    )
);
if ( null !== $result ) {
    echo 'Yay! New role created!';
}
else {
    echo 'Oh... the basic_contributor role already exists.';
}

add_role() は wp-includes/capabilities.php にあります。

詳細については、この記事をご覧ください

于 2014-12-28T18:05:39.823 に答える