Restrict authors access to edit comments, the plugin
Posted in: Programmazione
It's my first wordpress plugin, please be kind ;-)
I've noticed that in wordpress (surely 2.2, not tested on previous, so please tell me if it works) there's no capability separation for editing post and comments (on their post). Even using the Role Manager Plugin.
from wordpress codex:
Manage->Comments -- meaning: "show post"-link; "edit post"-, "edit comment"- and "delete comment"-links only on own posts since edit-comment.php (http://trac.wordpress.org/file/trunk/wp-admin/edit-comments.php) looks for "current_user_can('edit_post', $comment->comment_post_ID)"'
I run a lot of multiple authors blogs and sometimes I need only administrators to edit comments (and I'm not the only one).
So I developed this:
-
<?php
-
/*
-
Plugin Name: Restrict author access to edit comments
-
Plugin URI: http://www.laboratoriocaffeina.it/development/2007/07/20/restrict-authors-access-to-edit-comments-the-plugin.html
-
Description: Block author access to edit comments, leave it only for admin and editors
-
Version: 0.3
-
Author: cedmax
-
Author URI: http://www.dioblog.it
-
*/
-
-
function check_user_capabilities() {
-
global $user_level;
-
-
-
if ($user_level <9){
-
echo "<div class='wrap'><h2>Restricted area</h2></div>";
-
include('admin-footer.php');
-
-
}
-
}
-
}
-
-
add_action('init', 'check_user_capabilities');
-
-
?>
update
thanks to brad I found out that the direct edit comment link in wordpress points to comments.php and not to edit-comments.php.
so I've changed the script.
update 2
Thanks to Fred (sorry I didn't understand immediatly) and Claus I spotted out another error in version 0.2
Now I've done the v.0.3 changing the hook function: now it works not on the content but on the initialization of the page, so it is not possible for the author to work on comments at all. thanks to everyone :-)
simply download v.0.3, unzip, put the .php file under wp-contents/plugins and activate it from wordpress plugins panel.
Return to: Restrict authors access to edit comments, the plugin
Social Web