1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232
|
<!--添加优化代码到主题目录functions.php文件--> /*彻底关闭自动更新(核心程序/主题/插件/翻译自动更新*/ add_filter('automatic_updater_disabled', '__return_true'); /*关闭更新检查定时作业*/ remove_action('init', 'wp_schedule_update_checks'); /*移除已有的版本检查定时作业*/ wp_clear_scheduled_hook('wp_version_check'); /*移除已有的插件更新定时作业*/ wp_clear_scheduled_hook('wp_update_plugins'); /*移除已有的主题更新定时作业*/ wp_clear_scheduled_hook('wp_update_themes'); /*移除已有的自动更新定时作业*/ wp_clear_scheduled_hook('wp_maybe_auto_update'); /*移除后台内核更新检查*/ remove_action( 'admin_init', '_maybe_update_core' ); /*移除后台插件更新检查*/ remove_action( 'load-plugins.php', 'wp_update_plugins' ); remove_action( 'load-update.php', 'wp_update_plugins' ); remove_action( 'load-update-core.php', 'wp_update_plugins' ); remove_action( 'admin_init', '_maybe_update_plugins' ); /*移除后台主题更新检查*/ remove_action( 'load-themes.php', 'wp_update_themes' ); remove_action( 'load-update.php', 'wp_update_themes' ); remove_action( 'load-update-core.php', 'wp_update_themes' ); remove_action( 'admin_init', '_maybe_update_themes' ); /*关闭程序更新提示*/ add_filter( 'pre_site_transient_update_core', function($a){ return null; }); /*关闭插件更新提示*/ add_filter('pre_site_transient_update_plugins', function($a){return null;}); /*关闭主题更新提示*/ add_filter('pre_site_transient_update_themes', function($a){return null;}); //关闭WordPress的XML-RPC功能 add_filter('xmlrpc_enabled', '__return_false'); /* 关闭XML-RPC的pingback端口 */ add_filter( 'xmlrpc_methods', 'remove_xmlrpc_pingback_ping' ); function remove_xmlrpc_pingback_ping( $methods ) { unset( $methods['pingback.ping'] ); return $methods; } //禁用 pingbacks, enclosures, trackbacks remove_action( 'do_pings', 'do_all_pings', 10 ); //去掉 _encloseme 和 do_ping 操作 remove_action( 'publish_post','_publish_post_hook',5 ); /* 禁止加载s.w.org获取表情和头像 */ remove_action('wp_head', 'print_emoji_detection_script', 7 ); remove_action('admin_print_scripts','print_emoji_detection_script'); remove_action('wp_print_styles', 'print_emoji_styles'); remove_action('admin_print_styles', 'print_emoji_styles'); function remove_dns_prefetch( $hints, $relation_type ) { if ( 'dns-prefetch' === $relation_type ) { return array_diff( wp_dependencies_unique_hosts(), $hints ); } return $hints; } add_filter( 'wp_resource_hints', 'remove_dns_prefetch', 10, 2 ); /* 完全禁止REST API、移除wp-json链接 */ function lerm_disable_rest_api( $access ) { return new WP_Error( 'Stop!', 'Soooooryyyy', array( 'status' => 403, ) ); } add_filter( 'rest_authentication_errors', 'lerm_disable_rest_api' ); remove_action( 'wp_head', 'rest_output_link_wp_head', 10 ); /* 禁止查询网站静态资源连接版本字符 */ function _remove_script_version ( $src ){ $parts = explode( '?', $src ); return $parts[0]; } add_filter( 'script_loader_src', '_remove_script_version', 15, 1 ); add_filter( 'style_loader_src', '_remove_script_version', 15, 1 ); /* 移除前端网页源代码内的头部冗余代码 */ remove_action( 'wp_head', 'feed_links_extra', 3 ); remove_action( 'wp_head', 'rsd_link' ); remove_action( 'wp_head', 'wlwmanifest_link' ); remove_action( 'wp_head', 'index_rel_link' ); remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); remove_action( 'wp_head', 'wp_generator' ); /* 禁止新版文章编辑器加载前端样式 */ function wpassist_remove_block_library_css(){ wp_dequeue_style( 'wp-block-library' ); } remove_action( 'wp_enqueue_scripts', 'wp_common_block_scripts_and_styles' ); add_action( 'wp_enqueue_scripts', 'wpassist_remove_block_library_css' ); /* 移除新版本站点健康状态面板和菜单项 */ add_action( 'admin_menu', 'remove_site_health_menu' ); function remove_site_health_menu(){ remove_submenu_page( 'tools.php','site-health.php' ); } /* 禁用5.5版后自带的XML站点地图 */ add_filter( 'wp_sitemaps_enabled', '__return_false' ); /* 移除前后台顶部工具栏指定菜单 */ function admin_bar_item ( WP_Admin_Bar $admin_bar ) { $admin_bar->remove_menu('wp-logo'); //移动wp的logo $admin_bar->remove_menu('site-name'); //移动站点名称 $admin_bar->remove_menu('updates'); //移动更新提示 $admin_bar->remove_menu('comments'); //移动评论提示 /*$admin_bar->remove_menu('new-content'); //移除新建按钮 */ } add_action( 'admin_bar_menu', 'admin_bar_item', 500 ); //移除后台仪表盘站点健康状态面板 add_action('wp_dashboard_setup', 'remove_site_health_dashboard_widget'); function remove_site_health_dashboard_widget() { remove_meta_box('dashboard_site_health', 'dashboard', 'normal'); } //移除后台仪表盘菜单:站点健康状态 add_action( 'admin_menu', 'remove_site_health_menu' ); function remove_site_health_menu(){ remove_submenu_page( 'tools.php','site-health.php' ); } //移除后台仪表盘菜单:活动、新闻 function bzg_remove_dashboard_widgets() { global $wp_meta_boxes; #移除 "活动" unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']); #移除 "WordPress 新闻" unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']); } add_action('wp_dashboard_setup', 'bzg_remove_dashboard_widgets' ); //移除后台仪表盘菜单:帮助 function bzg_remove_help() { get_current_screen()->remove_help_tabs(); } add_action('admin_head', 'bzg_remove_help'); //移除后台页面title标题的wordpress后缀 add_filter('admin_title', 'delAdminTitle', 10, 2); function delAdminTitle($admin_title, $title){ return $title.' ‹ '.get_bloginfo('name'); } //移除登陆页面title标题的wordpress后缀 add_filter('login_title', 'remove_login_title', 10, 2); function remove_login_title($login_title, $title){ return $title.' ‹ '.get_bloginfo('name'); } /* 彻底禁止4.4+版之后响应式图片功能及缩略图裁剪功能*/ // 禁止生成图像尺寸 function zm_customize_image_sizes( $sizes ){ unset( $sizes[ 'thumbnail' ]); unset( $sizes[ 'medium' ]); unset( $sizes[ 'medium_large' ] ); unset( $sizes[ 'large' ]); unset( $sizes[ 'full' ] ); unset( $sizes['1536x1536'] ); unset( $sizes['2048x2048'] ); return $sizes; } add_filter( 'intermediate_image_sizes_advanced', 'zm_customize_image_sizes' ); // 禁止缩放图片尺寸 add_filter('big_image_size_threshold', '__return_false'); // 禁止生成其它图像尺寸 function shapeSpace_disable_other_image_sizes() { // 禁止通过set_post_thumbnail_size()函数生成的图片尺寸 remove_image_size('post-thumbnail'); // 禁止添加其它图像尺寸 remove_image_size('another-size'); } add_action('init', 'shapeSpace_disable_other_image_sizes'); //切换经典文章编辑器(v5.x开始默认古腾堡编辑器) add_filter('use_block_editor_for_post', '__return_false'); //替换评论用户头像链接为国内镜像加速访问 add_filter('get_avatar', function ($avatar) { return str_replace([ 'www.gravatar.com/avatar/', '0.gravatar.com/avatar/', '1.gravatar.com/avatar/', '2.gravatar.com/avatar/', 'secure.gravatar.com/avatar/', 'cn.gravatar.com/avatar/' ], 'cravatar.cn/', $avatar); }); //取消内容转义 remove_filter('the_content', 'wptexturize'); //取消摘要转义 remove_filter('the_excerpt', 'wptexturize'); //取消评论转义 remove_filter('comment_text', 'wptexturize'); //禁止转义引号字符 remove_filter('the_content', 'wptexturize'); // 禁止英文引号转义为中文引号 //文章插入图片自动移除 img 的 width、height、class 属性; add_filter( 'post_thumbnail_html', 'fanly_remove_images_attribute', 10 ); add_filter( 'image_send_to_editor', 'fanly_remove_images_attribute', 10 ); function fanly_remove_images_attribute( $html ) { //$html = preg_replace( '/(width|height)="d*"s/', "", $html ); $html = preg_replace( '/width="(d*)"s+height="(d*)"s+class="[^"]*"/', "", $html ); $html = preg_replace( '/ /', "", $html ); return $html; } //自适应图片删除width和height function ludou_remove_width_height_attribute($content){ preg_match_all('/<[img|IMG].*?src=['|"](.*?(?:[.gif|.jpg|.png.webp]))['|"].*?[/]?>/', $content, $images); if(!empty($images)) { foreach($images[0] as $index => $value){ $new_img = preg_replace('/(width|height)="d*"s/', "", $images[0][$index]); $content = str_replace($images[0][$index], $new_img, $content); } } return $content; } //判断是否是移动设备浏览 if(wp_is_mobile()) { #删除文章内容中img的width和height属性 add_filter('the_content', 'ludou_remove_width_height_attribute', 99); } /* 删除文章时删除图片附件 */ function delete_post_and_attachments($post_ID) { global $wpdb; #删除特色图片 $thumbnails = $wpdb->get_results( "SELECT * FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND post_id = $post_ID" ); foreach ( $thumbnails as $thumbnail ) { wp_delete_attachment( $thumbnail->meta_value, true ); } #删除图片附件 $attachments = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE post_parent = $post_ID AND post_type = 'attachment'" ); foreach ( $attachments as $attachment ) { wp_delete_attachment( $attachment->ID, true ); } $wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND post_id = $post_ID" ); } add_action('before_delete_post', 'delete_post_and_attachments');
|