A-A+
WordPress 6.7 中文正式版发布 及优化代码大全 (网站博客程序)
WordPress,全球广泛使用的知名免费开源网站博客程序。WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设自己的网站,也可以把WordPress 当作一个内容管理系统(CMS)来使用。WordPress 还是一个免费的开源项目,在GNU通用公共许可证下授权发布。
WordPress新版必备优化代码:
<!--添加优化代码到主题目录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');