<?php

// Удаление раздела комментариев из админ-панели
function remove_comments_admin_menu() {
    remove_menu_page('edit-comments.php');
}
add_action('admin_menu', 'remove_comments_admin_menu');

// Полное отключение системы комментариев
function disable_comments_completely() {
    
    // Удаляем из верхней панели
    add_action('wp_before_admin_bar_render', function() {
        global $wp_admin_bar;
        $wp_admin_bar->remove_menu('comments');
    });
    
    // Отключаем поддержку комментариев
    add_action('init', function() {
        $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', function() {
        global $pagenow;
        if ($pagenow === 'edit-comments.php') {
            wp_redirect(admin_url());
            exit;
        }
    });
    
    // Скрываем мета-бокс комментариев в редакторе записей
    add_action('admin_init', function() {
        remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
    });
    
    // Закрываем комментарии для существующих записей
    add_action('wp', function() {
        if (is_singular()) {
            $post_id = get_queried_object_id();
            if ($post_id) {
                update_post_meta($post_id, '_wp_trash_meta_time', time());
                wp_update_post(array(
                    'ID' => $post_id,
                    'comment_status' => 'closed'
                ));
            }
        }
    }, 100);
}

add_action('init', 'disable_comments_completely');

// Полное удаление ненужных пунктов из меню "Внешний вид"
function customize_appearance_menu() {
    global $submenu;
    
    // Массив пунктов для удаления
    $items_to_remove = array(
        'customize.php?return=%2Fwp-admin%2F',
        'customize.php?return=%2Fwp-admin%2F&autofocus%5Bcontrol%5D=header_image',
        'customize.php?return=%2Fwp-admin%2F&autofocus%5Bcontrol%5D=background_image', 
        'site-editor.php?p=/pattern',
    );
    
    // Удаляем каждый пункт
    foreach ($items_to_remove as $item) {
        remove_submenu_page('themes.php', $item);
    }

    // Альтернативный способ - прямое удаление из глобального массива $submenu
    if (isset($submenu['themes.php'])) {
        foreach ($submenu['themes.php'] as $key => $item) {
            if (in_array($item[2], $items_to_remove) || 
                strpos($item[0], 'Паттерны') !== false ||
                strpos($item[0], 'Настроить') !== false ||
                strpos($item[0], 'Заголовок') !== false ||
                strpos($item[0], 'Фон') !== false) {
                unset($submenu['themes.php'][$key]);
            }
        }
    }
}
add_action('admin_menu', 'customize_appearance_menu', 999);

function complete_cleanup() {
    $styles_to_remove = [
        'wp-emoji',
        'wp-emoji-styles',
        'wp-block-library',
        'wp-block-library-theme',
        'classic-theme-styles',
        'global-styles',
        'wp-block-archives',
        'wp-block-categories',
        'wp-block-heading',
        'wp-block-latest-comments',
        'wp-block-latest-posts',
        'wp-block-search',
        'wp-block-group',
        'wp-block-paragraph',
        'global-styles-inline',
        'wc-block-style'
    ];
    
    foreach ($styles_to_remove as $style) {
        wp_dequeue_style($style);
        wp_deregister_style($style);
    }
    
    remove_action('wp_head', 'wp_generator');
    remove_action('wp_head', 'rsd_link');
    remove_action('wp_head', 'wlwmanifest_link');
    remove_action('wp_head', 'wp_shortlink_wp_head');
    remove_action('wp_head', 'rest_output_link_wp_head');
}
add_action('wp_enqueue_scripts', 'complete_cleanup', 999);
add_action('wp_head', 'complete_cleanup', 1);

remove_action( 'wp_enqueue_scripts', 'wp_enqueue_global_styles' );
remove_action( 'wp_footer', 'wp_enqueue_global_styles', 1 );

?>