first commit
This commit is contained in:
22
wp-content/mu-plugins/acf-options-pages.php
Normal file
22
wp-content/mu-plugins/acf-options-pages.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Register ACF options pages.
|
||||
*/
|
||||
|
||||
if (!defined('ABSPATH')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
add_action('acf/init', function () {
|
||||
if (!function_exists('acf_add_options_page')) {
|
||||
return;
|
||||
}
|
||||
|
||||
acf_add_options_page([
|
||||
'page_title' => 'Site Settings',
|
||||
'menu_title' => 'Site Settings',
|
||||
'menu_slug' => 'site-settings',
|
||||
'capability' => 'edit_posts',
|
||||
'redirect' => false,
|
||||
]);
|
||||
});
|
||||
52
wp-content/mu-plugins/local-dev-performance.php
Normal file
52
wp-content/mu-plugins/local-dev-performance.php
Normal file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
/**
|
||||
* Reduce wp-admin latency in local Docker environments without outbound internet.
|
||||
*/
|
||||
|
||||
if (!defined('ABSPATH')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
if (function_exists('wp_get_environment_type') && wp_get_environment_type() !== 'local') {
|
||||
return;
|
||||
}
|
||||
|
||||
add_action('init', function () {
|
||||
remove_action('admin_init', '_maybe_update_core');
|
||||
remove_action('admin_init', '_maybe_update_plugins');
|
||||
remove_action('admin_init', '_maybe_update_themes');
|
||||
|
||||
wp_clear_scheduled_hook('wp_version_check');
|
||||
wp_clear_scheduled_hook('wp_update_plugins');
|
||||
wp_clear_scheduled_hook('wp_update_themes');
|
||||
}, 1);
|
||||
|
||||
add_filter('pre_site_transient_update_core', function () {
|
||||
return (object) [
|
||||
'updates' => [],
|
||||
'last_checked' => time(),
|
||||
'version_checked' => get_bloginfo('version'),
|
||||
];
|
||||
});
|
||||
|
||||
add_filter('pre_site_transient_update_plugins', function () {
|
||||
return (object) [
|
||||
'last_checked' => time(),
|
||||
'checked' => [],
|
||||
'response' => [],
|
||||
'no_update' => [],
|
||||
'translations' => [],
|
||||
];
|
||||
});
|
||||
|
||||
add_filter('pre_site_transient_update_themes', function () {
|
||||
return (object) [
|
||||
'last_checked' => time(),
|
||||
'checked' => [],
|
||||
'response' => [],
|
||||
'no_update' => [],
|
||||
'translations' => [],
|
||||
];
|
||||
});
|
||||
|
||||
add_filter('automatic_updater_disabled', '__return_true');
|
||||
129
wp-content/mu-plugins/remove-action.php
Normal file
129
wp-content/mu-plugins/remove-action.php
Normal file
@@ -0,0 +1,129 @@
|
||||
<?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 );
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user