为什么要更新这篇内容呢?因为最近在进行个人网站备案,要求个人网站不允许有评论模块,现在互联网管制越来越严格,好吧,那就禁止过滤掉WordPress评论功能再提交试试,看看能否通过网站备案。
下面这段代码亲测有效,可以通过function.php文件屏蔽评论,如你现在所见到的我的这个博客已经看不见任何评论了,通通被拦截掉不予显示;下面的屏蔽评论分为多个区域可以根据个人需要酌情删减;
// 禁用对帖子类型的注释和引用的支持
function df_disable_comments_post_types_support() {
$post_types = get_post_types();
foreach ($post_types as $post_type) {
if(post_type_supports($post_type, 'comments')) {
remove_post_type_support($post_type, 'comments');
remove_post_type_support($post_type, 'trackbacks');
}
}
}
add_action('admin_init', 'df_disable_comments_post_types_support');
// 关闭前端的评论
function df_disable_comments_status() {
return false;
}
add_filter('comments_open', 'df_disable_comments_status', 20, 2);
add_filter('pings_open', 'df_disable_comments_status', 20, 2);
// 隐藏现有评论
function df_disable_comments_hide_existing_comments($comments) {
$comments = array();
return $comments;
}
add_filter('comments_array', 'df_disable_comments_hide_existing_comments', 10, 2);
// 在菜单中删除评论页面
function df_disable_comments_admin_menu() {
remove_menu_page('edit-comments.php');
}
add_action('admin_menu', 'df_disable_comments_admin_menu');
// 重定向任何试图访问评论页面的用户
function df_disable_comments_admin_menu_redirect() {
global $pagenow;
if ($pagenow === 'edit-comments.php') {
wp_redirect(admin_url()); exit;
}
}
add_action('admin_init', 'df_disable_comments_admin_menu_redirect');
// 从仪表板删除评论元框
function df_disable_comments_dashboard() {
remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
}
add_action('admin_init', 'df_disable_comments_dashboard');
// 从管理栏中移除评论链接
function df_disable_comments_admin_bar() {
if (is_admin_bar_showing()) {
remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
}
}
add_action('init', 'df_disable_comments_admin_bar');