WordPress: Tüm yorumları kapat

WordPress’te tüm yorumları tamamen kapatmak için (mevcut yazılar/sayfalar dahil) küçük bir kod parçası kullanılır. Bu yaklaşım, tek tek içerik düzenleyip “Yorumlara izin ver” seçeneğini kapatmakla uğraşmadan, site genelinde yorum sistemini devre dışı bırakır. Pratikte üç şeyi hedefler: Birincisi, yeni yorum gönderimini engeller ve yorum formunu otomatik olarak gizler. İkincisi, daha önce açılmış içeriklerde bile yorum alanını kapatır; böylece eski yazılarda “yorumlar açık kalmış” gibi sürprizler yaşanmaz. Üçüncüsü de yönetim panelinde (gerekirse) yorum menülerini ve ilgili bildirimleri azaltarak daha temiz bir arayüz sunar.

Bu yöntem özellikle kurumsal siteler, katalog/landing page projeleri ve yorum ihtiyacı olmayan vitrin siteleri için idealdir. Ayrıca spam, gereksiz bildirim ve güvenlik yükünü düşürür; site hızına ve bakım kolaylığına katkı sağlar. Kısacası: “yorum yok” kararını net ve kalıcı biçimde uygular, yönetimi kolaylaştırır ve düzeni korur. İstersen kodu functions.php’ye değil, küçük bir eklenti mantığıyla da kullanarak tema değişse bile ayarın bozulmamasını sağlayabiliriz.


/**
 * WordPress: Tüm yorumları kapat (site genelinde)
 * functions.php içine ekleyin.
 */
add_action('init', function () {

    // Yorumları kapat: tüm post type'larda (admin+frontend)
    foreach (get_post_types([], 'names') as $post_type) {
        if (post_type_supports($post_type, 'comments')) {
            remove_post_type_support($post_type, 'comments');
            remove_post_type_support($post_type, 'trackbacks');
        }
    }

}, 100);

// Yorum ve ping status'larını kapat
add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);

// Var olan yorumları listelemeyi kapat (yorumlar görünmesin)
add_filter('comments_array', '__return_empty_array', 10, 2);

// Admin menüsünden Yorumlar'ı kaldır
add_action('admin_menu', function () {
    remove_menu_page('edit-comments.php');
});

// Admin bar'dan Yorumlar'ı kaldır
add_action('admin_bar_menu', function ($wp_admin_bar) {
    $wp_admin_bar->remove_node('comments');
}, 999);

// Dashboard "Recent Comments" bileşenini kaldır
add_action('wp_dashboard_setup', function () {
    remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
});

// Yorum ayarları sayfasına girilirse, istersen yönlendir (opsiyonel)
add_action('admin_init', function () {
    global $pagenow;
    if ($pagenow === 'edit-comments.php') {
        wp_safe_redirect(admin_url());
        exit;
    }
});

Hızlı İletişim Formu

Sorun, teklif ya da net bir soru… kısa yazın, biz dönüş yapalım.