ביטול תגובות בוורדפרס

לוורדפרס מנגנון תגובות מובנה שעובד מעולה. עם זאת, במצבים מסויימים אנו מעוניינים לבטל לגמרי את התגובות באתר וורדפרס, במיוחד אם האתר שלכם אינו משמש כבלוג אלא כאתר תדמיתי או חנות לדוגמא. לחלקנו מספיק לבטל זאת דרך הגדרות דיון בלוח הבקרה של וורדפרס אך לפעמים זה לא מספיק.

קוד זה יגרום לביטול מנגנון התגובות בוורדפרס בצורה מוחלטת ואף יסיר את התגובות מלוח הבקרה. הוסיפו את הקוד הבא לקובץ functions.php:


// Disable support for comments and trackbacks in post types
function sv_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', 'sv_disable_comments_post_types_support');



// Close comments on the front-end
function sv_disable_comments_status() {
	return false;
}
add_filter('comments_open', 'sv_disable_comments_status', 20, 2);
add_filter('pings_open', 'sv_disable_comments_status', 20, 2);



// Hide existing comments
function sv_disable_comments_hide_existing_comments($comments) {
	$comments = array();
	return $comments;
}
add_filter('comments_array', 'sv_disable_comments_hide_existing_comments', 10, 2);



// Remove comments page in menu
function sv_disable_comments_admin_menu() {
	remove_menu_page('edit-comments.php');
}
add_action('admin_menu', 'sv_disable_comments_admin_menu');



// Redirect any user trying to access comments page
function sv_disable_comments_admin_menu_redirect() {
	global $pagenow;
	if ($pagenow === 'edit-comments.php') {
		wp_redirect(admin_url()); exit;
	}
}
add_action('admin_init', 'sv_disable_comments_admin_menu_redirect');



// Remove comments metabox from dashboard
function sv_disable_comments_dashboard() {
	remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
}
add_action('admin_init', 'sv_disable_comments_dashboard');



// Remove comments links from admin bar
function sv_disable_comments_admin_bar() {
	if (is_admin_bar_showing()) {
		remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
	}
}
add_action('init', 'sv_disable_comments_admin_bar');
1תגובות...

השאירו תגובה

אני לא נוטה לעשות זאת בדרך כלל...

אבל סאבי בלוג משתתף בתחרות בלוג השנה של ישראל בקטגורית אהוב הקהל. מכיוון ואני מאמין שהתוכן בבלוג זה עוזר לאלפי אנשים, אני אשמח אם תקדישו 10 שניות להצביע עבורו (מספר 120). זו תהיה דרך נהדרת לפרגן אם אתם אוהבים את התוכן.

תודה רבה! רועי.