Ezzel a kóddal a teljes WordPress webhelyen kikapcsolhatjuk a kommentelési lehetőséget, a komment admin felületeket, és minden ehhez kapcsolódó funkciót.
// Kommentek és trackbackek kikapcsolása a bejegyzés-típusoknál.
function ph_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', 'ph_disable_comments_post_types_support' );
// Kommentek kikapcsolása a frontenden.
add_filter( 'comments_open', '__return_false', 20, 2 );
add_filter( 'pings_open', '__return_false', 20, 2 );
// Létező kommentek elrejtése.
add_filter( 'comments_array', '__return_empty_array', 10, 2 );
// Kommentek admin oldal elrejtése.
function ph_disable_comments_admin_menu() {
remove_menu_page( 'edit-comments.php' );
}
add_action( 'admin_menu', 'ph_disable_comments_admin_menu' );
// Kommentek admin oldal átirányítása.
function ph_disable_comments_admin_menu_redirect() {
global $pagenow;
if ( $pagenow === 'edit-comments.php' ) {
wp_redirect( admin_url() );
exit;
}
}
add_action( 'admin_init', 'ph_disable_comments_admin_menu_redirect' );
// Komment metadoboz kikapcsolása.
function ph_disable_comments_dashboard() {
remove_meta_box( 'dashboard_recent_comments', 'dashboard', 'normal' );
}
add_action( 'admin_init', 'ph_disable_comments_dashboard' );
// Komment menüpont törlése a felső admin menü sávból.
function ph_disable_comments_admin_bar() {
if ( is_admin_bar_showing() ) {
remove_action( 'admin_bar_menu', 'wp_admin_bar_comments_menu', 60 );
}
}
add_action( 'init', 'ph_disable_comments_admin_bar' );