J'utilise un type d'article personnalisé pour permettre aux contributeurs d'avoir une page personnelle sur le site.
Chaque fois qu'un utilisateur s'inscrit sur mon site, un script crée une publication de type personnalisée avec l'utilisateur qui s'enregistre comme auteur.
Pour modérer les entrées des utilisateurs, cet article est publié par un éditeur.
J'aimerais que les utilisateurs (contributeurs) soient:
J'utilise Éditeur de rôle utilisateur pour gérer les rôles et les fonctionnalités.
Y-a-t-il un moyen de faire ça?
À l'aide de l'éditeur de rôle ou de la portée du rôle, vous pouvez définir les contributeurs pour qu'ils modifient votre type de publication personnalisé sans les publier. Par conséquent, chaque modification sera définie comme brouillon jusqu'à son approbation. Pour limiter la création de nouvelles publications de votre type de publication personnalisée, vous pouvez utiliser mon plugin Limites de création de publications de Bainternet
Pour forcer la réapprobation des modifications, ajoutez ce code
add_filter( 'wp_insert_post_data', 're_aprove', '99', 2 );
function re_aprove( $data, $postarr ) {
//check if current user is not admin
if ( ! current_user_can( 'manage_options' ) && 'YOUR_CUSTOM_TYPE' === $postarr['post_type'] ) {
if ( 'publish' === $data['post_status'] ) {
$data['post_status'] = 'pending';
}
}
return $data;
}
et remplacez YOUR_CUSTOM_TYPE
par le nom de votre type de message personnalisé.
Le mien n'a pas fonctionné jusqu'à ce que j'ajoute le '99', 2); à la fin du add_filter.
Voici la référence expliquant pourquoi: http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_insert_post_data
add_filter('wp_insert_post_data','re_aprove', '99', 2);
function re_aprove( $data , $postarr ){
global $current_user;
get_currentuserinfo();
//check if current user is not admin
if (!current_user_can('manage_options') && $postarr['post_type'] == "candy-item" ){
if ($data['post_status'] = "publish"){
$data['post_status'] = "pending";
}
}
return $data;
}
enfin, j'ai résolu using Revisionary plugin, http://wordpress.org/extend/plugins/revisionary/ il est utilisé pour faire exactement ce que je demande dans le sujet. Titre
pour un contrôle plus détaillé des capacités (avec la révision déjà intégrée), il y a Role Scoper http://wordpress.org/extend/plugins/role-scoper/
le premier est vraiment facile à installer et à utiliser, le second a besoin de beaucoup plus de pratique, l'interface utilisateur est un peu déroutant, mais c'est vraiment puissant