web-dev-qa-db-ja.com

作成者ロールに機能(投稿者投稿の公開)を付与する方法

私はPHPプログラマーではなく、単純なWordPressユーザーです。

  • 投稿者の投稿を投稿者に許可するにはどうすればよいですか。
  • これの技術名称は何ですか?
1
AmirRH

私は最善のアプローチはプラグイン/テーマの有効化における "author"ロールにedit_other_posts機能を追加し、プラグイン/テーマの無効化でその機能を削除することだと思います。この方法では、タスクを一度だけ実行するので、それ以上コーディングする必要はありません。

プラグインの有効化/無効化の使用

register_activation_hook( __FILE__, 'cyb_activation_function' );
function cyb_activation_function() {

    $author = get_role( 'author' );
    $author->add_cap( 'edit_others_posts' ); 

}

register_deactivation_hook( __FILE__, 'cyb_deactivation_function');
function cyb_deactivation_function() {

    $author = get_role( 'author' );
    $author->remove_cap( 'edit_others_posts' ); 

}

テーマの有効化/無効化の使用

add_action('after_switch_theme', 'cyb_activation_function');
function cyb_activation_function() {

    $author = get_role( 'author' );
    $author->add_cap( 'edit_others_posts' ); 

}

add_action('switch_theme', 'cyb_deactivation_function');
function cyb_deactivation_function() {

    $author = get_role( 'author' );
    $author->remove_cap( 'edit_others_posts' ); 

}
1
cybmeta

明らかに、ロールの機能はプログラム的に変更することができます。

PHPプログラマーではなく、単なるWordPressユーザーです。

あなたはユーザロールの変更を可能にするプラグインを利用しなければならないでしょう。
そこにたくさんあるが、私の個人的な推奨はJustin Tadlockによる Members プラグインだろう。

これの技術名称は何ですか?

すべての ロール には、多数の 機能 が割り当てられています。
それがあなたが探していた言葉です。

投稿者の投稿を投稿者に許可するにはどうすればよいですか。

ここで必要な機能は edit_others_posts です。

0
Johannes Pille