投稿者 は投稿ドラフト を作成できますが、公開はできません。 Pagesにも同じパーミッションの概念を追加したいのですが。つまり、編集者/管理者に後で承認または却下させるためだけに投稿者にページドラフトを作成させることはできますか。
この 質問 から、アクションnew_role_edit_posts
にフックできることがわかります。同等のnew_role_edit_pages
はありますか?
これについてどう思いますか。
これについてどう思いますか。
私はこれが古い質問であり、あなたが既存のプラグインで解決策を見つけたということを見ます。しかし、これは開発用のStackExchangeなので、サードパーティ製のプラグインを必要とせずに上記の目標を達成する方法を説明した答えがあるのであれば、おそらくそれが良いでしょう。
WordPressは機能をデータベースに保存します。したがって、プラグインのアクティブ化時にedit_pages
機能をコントリビュータロールに追加するプラグインが必要です。完全を期すために、プラグインは非アクティブ化時に機能を削除するべきです。
/**
* Plugin Name: WPSE 230940
*/
//* Add activation hook
register_activation_hook( __FILE__ , 'wpse_230940_activation' );
function wpse_230940_activation() {
//* Add edit_pages capability to contributors
$contributor = get_role( 'contributor' );
$contributor->add_cap( 'edit_pages' );
}
//* Add deactivation hook
register_deactivation_hook( __FILE__ , 'wpse_230940_deactivation' );
function wpse_230940_deactivation() {
//* Remove edit_pages capability from contributors
$contributor = get_role( 'contributor' );
$contributor->remove_cap( 'edit_pages' );
}