Je lance un blog multi-auteurs et je recherche une solution non plug-in.
Le rôle d’auteur auteur par défaut dans Wordpress peut publier des publications sans aucune approbation - regardez Capacités du rôle Wordpress Codex . Utiliser le rôle de contributeur pour atteindre mon objectif n'est pas possible, car le rôle de contributeur ne peut pas télécharger d'images ...
Est-il possible de donner à tous les articles d'auteurs un statut du type "brouillon" - afin que seul un éditeur puisse les publier?
Ajoutez le code suivant à votre functions.php:
function allow_contributor_uploads() {
$contributor = get_role('contributor');
$contributor->add_cap('upload_files');
}
if ( current_user_can('contributor') && !current_user_can('upload_files') ) {
add_action('admin_init', 'allow_contributor_uploads');
}
Cela ajoutera la capacité upload_files
au rôle de contributeur. Il suffit de courir une fois; connectez-vous simplement à admin en tant qu'utilisateur avec le rôle de contributeur. Une fois la fonctionnalité ajoutée, vous pouvez supprimer (ou commenter) le code si vous le souhaitez.
Pour supprimer la fonctionnalité upload_files
et rétablir le rôle de contributeur par défaut, procédez comme suit:
function deny_contributor_uploads() {
$contributor = get_role('contributor');
$contributor->remove_cap('upload_files');
}
if ( current_user_can('contributor') && current_user_can('upload_files') ) {
add_action('admin_init', 'deny_contributor_uploads');
}
Option de plugin
Parmi les suggestions de Kaiser, voici un plugin qui créera un NOUVEAU rôle utilisateur avec les fonctionnalités de Contributor (édition, suppression et lecture de messages), PLUS la fonctionnalité de téléchargement de fichiers.
<?php
/**
* Plugin Name: Add Contributor Plus Role
* Description: Activate plugin to create a user role with Contributor capabilities, PLUS upload_files.
* Plugin URI: http://wordpress.stackexchange.com/questions/165951/publish-author-posts-only-with-editor-approval/165957#165957
* Version: 1.0
*/
add_action( 'wp_loaded', 'add_new_contributor_plus_role');
function add_new_contributor_plus_role() {
add_role(
'contributor_plus',
__( 'Contributor Plus' ),
array(
'edit_posts' => true,
'delete_posts' => true,
'read' => true,
'upload_files' => true
)
);
}
?>
Ajoutez le code ci-dessus au /wp-content/plugins/add-contributor-plus-role/add-contributor-plus-role.php
, OR créez le dossier et le fichier /add-contributor-plus-role/add-contributor-plus-role.php localement, ajoutez-les à un fichier Zip et envoyez-les à l'aide de Plugins> Ajouter nouveau> Uploads. N'hésitez pas à changer le nom du rôle d'utilisateur en celui que vous souhaitiez.
Activez le plugin et le rôle sera ajouté. Vous pouvez désactiver le plugin et le supprimer. cela n'affectera pas le rôle d'utilisateur nouvellement créé.
Si vous changez d'avis et souhaitez que le rôle d'utilisateur "Contributor Plus" soit supprimé, utilisez ce qui suit à la place des lignes add_role (jusqu'au point-virgule;) et activez à nouveau le plug-in:
remove_role( 'contributor_plus' );