wordpress 基础优化代码

/*彻底关闭自动更新(核心程序/主题/插件/翻译自动更新*/
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;});
/* 禁止加载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');}
/*移除后台仪表盘菜单:活动、新闻*/
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');

 

5/5 - (1 vote)

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注