Site Overlay

WooCommerce Mağaza Yöneticisi Yetkisi Nasıl Verilir? – Adım Adım Kılavuz

WooCommerce mağazanızda yönetici yetkilerini güvenli bir şekilde nasıl vereceğinizi öğrenin. Bu kullanıcı sadece WooCommerce sayfalarını görebilir. Adım adım WordPress kullanıcı rolü ayarlarıyla mağaza yöneticisi ekleme ve yetki düzenleme rehberi.

WooCommerce Magaza Yoneticisi Yetkisi Nasil Verilir Adim Adim Kilavuz
WooCommerce Mağaza Yöneticisi Yetkisi Nasıl Verilir? – Adım Adım Kılavuz

🔧 Güncellenmiş ve Çalışan Kod:

Aşağıdaki kodu functions.php dosyana ekle (eski fonksiyonu sil ve bunu ekle):

function limit_shop_manager_menu_access() {
    // Eğer kullanıcı mağaza yöneticisi ama yönetici değilse
    if (current_user_can('manage_woocommerce') && !current_user_can('manage_options')) {

        // Gereksiz menüleri kaldır
        remove_menu_page('tools.php'); // Araçlar
        remove_menu_page('edit-comments.php'); // Yorumlar
        remove_menu_page('themes.php'); // Görünüm
        remove_menu_page('plugins.php'); // Eklentiler
        remove_menu_page('options-general.php'); // Ayarlar
        remove_menu_page('users.php'); // Kullanıcılar
        remove_menu_page('upload.php'); // Ortam
        remove_menu_page('edit.php'); // Yazılar
        remove_menu_page('edit.php?post_type=page'); // Sayfalar

        // Hatta WooCommerce'in istemediğin bazı bölümlerini de kaldırabilirsin:
        // remove_menu_page('woocommerce'); // Tüm WooCommerce menüsünü kaldırır (istersen alt menü bazlı da yapabiliriz)
    }
}
add_action('admin_menu', 'limit_shop_manager_menu_access', 999);

🧪 Test Et

  1. test kullanıcısının rolünü “Mağaza Yöneticisi” (Shop Manager) yap
  2. Kodları ekledikten sonra bu kullanıcıyla wp-admin‘e gir
  3. Sadece şu menüler görünmeli:
    • WooCommerce
    • Ürünler
    • Analiz
    • Pazarlama
    • Ödemeler (eğer WooCommerce Payments eklentisi varsa)

Admin Çubuğundaki “Siteyi Düzenle ve “Yeni” butonlarında kaldıran tam kod.

function customize_shop_manager_admin_panel() {
    // Mağaza Yöneticisi ama Yönetici olmayanlar için
    if (current_user_can('manage_woocommerce') && !current_user_can('manage_options')) {
        
        // === Sol Menüleri Gizle ===
        remove_menu_page('tools.php'); // Araçlar
        remove_menu_page('edit-comments.php'); // Yorumlar
        remove_menu_page('themes.php'); // Görünüm
        remove_menu_page('plugins.php'); // Eklentiler
        remove_menu_page('options-general.php'); // Ayarlar
        remove_menu_page('users.php'); // Kullanıcılar
        remove_menu_page('upload.php'); // Ortam
        remove_menu_page('edit.php'); // Yazılar
        remove_menu_page('edit.php?post_type=page'); // Sayfalar

        // === Footer’daki "WordPress" Teşekkür Metnini Gizle ===
        add_filter('admin_footer_text', '__return_empty_string');

        // === Yardım, Ekran Ayarları ve WooCommerce Panel Butonları ===
        add_action('admin_head', function() {
            echo '<style>
                #contextual-help-link,
                #show-settings-link {
                    display: none !important;
                }

                /* Kullanıcı seçenekleri butonunu kaldır */
                button[aria-label="Kullanıcı seçenekleri"] {
                    display: none !important;
                }

                /* Aktivite paneli yardım butonunu kaldır */
                #activity-panel-tab-help {
                    display: none !important;
                }

                /* Footer’daki teşekkür metni */
                #footer-thankyou {
                    display: none !important;
                }
            </style>';
        });
    }
}
add_action('admin_menu', 'customize_shop_manager_admin_panel', 999);

// === Admin Bar'dan Butonları WP Admin + Önizleme İçin Tamamen Kaldır ===
function clean_admin_bar_for_shop_manager($wp_admin_bar) {
    if (is_user_logged_in() && current_user_can('manage_woocommerce') && !current_user_can('manage_options')) {

        // Üst menüleri temizle
        $wp_admin_bar->remove_menu('new-content');     // Yeni
        $wp_admin_bar->remove_menu('customize');       // Klasik site düzenle
        $wp_admin_bar->remove_menu('site-editor');     // Blok tabanlı site düzenle
        $wp_admin_bar->remove_menu('wp-logo');         // WordPress logosu ve alt menüler

        // Href içeriğine göre ekstra temizlik
        foreach ($wp_admin_bar->get_nodes() as $node) {
            if (isset($node->href)) {
                if (strpos($node->href, 'post.php') !== false && strpos($node->href, 'action=edit') !== false) {
                    $wp_admin_bar->remove_menu($node->id); // "Sayfayı Düzenle"
                }
                if (strpos($node->href, 'site-editor.php') !== false) {
                    $wp_admin_bar->remove_menu($node->id); // "Siteyi Düzenle"
                }
                if (strpos($node->href, 'about.php') !== false) {
                    $wp_admin_bar->remove_menu($node->id); // "WordPress Hakkında"
                }
            }
        }
    }
}
add_action('admin_bar_menu', 'clean_admin_bar_for_shop_manager', 999);


image
Başka cihazda görüntüle
Arif Akyüz Sistem Network Yöneticisi ve Siber Güvenlik Uzmanı
Arif Akyüz Sistem Network Yöneticisi ve Siber Güvenlik Uzmanı

Arif Akyüz
Bilgi Teknolojileri
Sistem Network Yöneticisi
ve Siber Güvenlik Uzmanı
[email protected]

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Author: Arif Akyüz

Arif Akyüz - Siber Güvenlik Uzmanı ve Dijital Dönüşüm Lideri 15 yılı aşkın süredir bilişim sektöründe, özellikle siber güvenlik ve dijital dönüşüm alanlarında hizmet veren bir uzmanım. Hem stratejik hem de teknik düzeyde çözümler sunarak organizasyonların güvenlik altyapılarını güçlendiriyor ve dijitalleşme süreçlerini yönetiyorum.