WordPress v6.6.2 开源强大的博客,之定义优化代码分享

WordPress全球使用最广泛的知名开源网站博客程序。WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL 数据库的服务器上架设自己的网志。也可以把WordPress 当作一个内容管理系统CMS来使用,WordPress 还是一个免费的开源项目,在GNU通用公共许可证下授权发布。5.3扩充并改善了从WordPress 5.0开始带来的区块编辑器,为您带来全新的区块、更直觉的交互和改良的无障碍访问。新功能提升了编辑器的设计自由度,为您带来更多布局选项和样式变化,让设计师能够全面控制网站的外观。这次发布也为您带来了二〇二〇主题,给用户带来更多的设计弹性,并与区块编辑器完美整合。现在要建立美观的网页及高级页面布局,是再也简单不过的事了。

WordPress v6.6.2 开源强大的博客,之定义优化代码分享插图劳大IT

使用区块管理小工具
经过数月的努力,现在,区块的强大扩展已经在区块小工具编辑器和定制器中发挥作用,您可以在整个站点的小工具区添加区块,也可通过定制器进行实时预览。从无代码的迷你布局到庞大的核心和第三方区块库,这些都为创建内容开辟了新的可能性。对于我们的开发者而言,您可以在小工具开发说明中找到更多详细信息。

使用全新的区块和区块样板显示文章
查询循环区块可以根据指定的参数显示文章;就像一个没有代码的 PHP 循环。轻松显示特定分类的文章,以执行如创建作品集或包含您最喜欢的食谱的页面之类的操作。您可以将其是为一个更复杂且强大的最新文章区块!此外,样板建议也使创建具有所需设计的文章列表变得前所未有的简单。

编辑文章周围的模板
可通过熟悉的区块编辑器来编辑包含您创作内容的模板–只需激活区块主题或选择一个支持该功能的主题。从编辑文章切换到编辑页面或反之,您都可以使用熟悉的区块编辑器。在兼容此功能的主题中,有超过20个新区块可用。请阅读相关版本说明以了解此功能极其如何使用的更多信息。

页面结构概览
有时您需要一个简单的着陆页面,或者需要网更复杂的方面进行扩展。随着区块的增加、区块样板的出现以及内容创建的简化,就需要新的解决方案来使复杂的内容变得简单化(使其易于浏览)。列表视图是在内容层和嵌套区块之间跳转的最佳方式。由于列表视图提供了内容中所有区块的概览,您现在可以快速的导航到所需的精确区块。准备好完全专注于您的内容了吗?打开或关闭它以适应您的工作流程。

推荐区块样板
从此版本开始,区块样板转换工具将根据您正在使用的区块向您推荐区块样板。您现在可以通过查询区块和社交图标区块试一试。随着更多区块样板的不断增加,您将能够在不离开编辑器的情况下得到如何设计站点样式的灵感!

图片样式化和上色
使用双色调滤镜为您的图片和封面区块上色。双色调可为您的站点设计增添流行色彩,并使图片(或封面区的视频)与您的主题完美融合。以黑白滤镜为例,双色调效果会将阴影取代为黑色、刀光取代为白色,但您可以自行定义双色调的专属阴影和刀光颜色。有关其如何运作的更多信息,在文档中有详细的介绍。

Theme.json
引入 Global Styles 和 Global Settings API:使用已激活主题中的 theme.json 文件来控制编辑器设置、提供可用的定制工具和样式区块。该配置文件能对功能的启用和禁用进行控制,并能为网站和区块设置默认样式。如果您正在构建主题,可以尝试这一有用新功能的早期版本。有关目前提供的内容极其工作原理的更多信息,请查阅此开发说明。

放弃对 Internet Explorer 11 的支持
自此版本起,对 Internet Explorer 11 的支持已经取消,您在管理站点时可能会遇到一些问题,这些问题在未来并不会被修复。如果您目前正在使用 IE11,强烈建议您更换到更新的浏览器。

增加对 WebP 的支持
WebP 是一种新的图片格式,可为网页上的图片提供改进的无损和有损压缩。WebP 图片比相同解析度的 JPEG 和 PNG 图片小约30%左右,从而使站点的速度更快,耗用的带宽更少。

增加额外的区块支持
在先前的5.6版本和5.7版本所实现的区块支持的基础上,WordPress 5.8引入多个全新的区块支持标志及选项,以便定制您的注册区块。更多信息可在《区块支持开发说明》中找到。

更细致的区块控制
WordPress 5.9 具有新的排版工具、灵活的布局控制以及对间距、边框等细节的精细控制,不仅有助于您设计外观,甚至能够对所需细节进行调整。

区块样板的力量
WordPress 样板目录是各种区块样板的家园,这些样板能够为您节省时间并增加站点的核心功能,您可以根据需要对这些区块样板进行编辑。若需要为当前的主题更换不同的页眉或页脚,只需点击几下便可焕然一新。通过具有全屏视图的区块样板浏览程序,您便可聚焦到精细的细节,从而能够轻松的比较并从中选择所需的区块样板。

经过改进的列表视图
5.9 版本中的列表视图可让您通过拖放区块内容的方式,将区块移至所需的位置。 管理复杂文件变得更简单,简易的控件让您在构建站点时能够对区段进行展开和折叠,并将可帮助用户浏览页面的 HTML 锚点添加至区块中。

更好用的画廊区块
使用在图片区块中处理图片的相同方式处理画廊区块中的每张图片。在画廊中,每张图片的样式都与其他图片不同(例如不同的剪裁或双色调),或使其完全相同,亦可通过拖放的方式来改变布局。

WordPress 6.0 包括 500 多项增强功能和 400 项错误修复。本页重点介绍了旨在使您的 WordPress 内容创建和网站建设体验功能更加丰富和直观的几个关键改进。您还将为开发人员和任何想要更深入地了解 WordPress 的人找到资源。

增强的写作体验
无论您是在撰写全新的帖子还是在现有页面中添加元素,写作方面的改进比比皆是。探索更多简化内容创建过程的方法,包括:

跨多个块选择文本并一次编辑它。
键入两个左括号[[以快速访问链接菜单。
当您将某些块从一种类型转换为另一种类型时(例如,从段落块转换为代码块),请保留现有样式。
创建自定义按钮,您制作的任何新按钮都将自动保留样式自定义。
通过更新的设置和控件以及标签云的新轮廓样式,使标签云和社交图标更具吸引力。

风格切换
块主题现在包括包含多种样式变体的选项。这进一步扩展了新的样式系统,并启用了在单个主题中切换站点外观和感觉的快捷方式。您可以更改可用设置(如字体粗细)和样式选项(如默认调色板)。只需单击几下即可更改网站的外观。

更多模板选择
WordPress 6.0 包括五个新的模板选项:作者、日期、类别、标签和分类。这些附加模板为内容创建者提供了更大的灵活性。使用您已经知道的工具或此版本中的以下新选项定制每个工具。

特色图像可用于封面块。

新的特色图像大小控件使您更容易获得所需的结果。

在编辑模板时,在根部或块之间,快速插入器会向您显示模式和模板部分,以帮助您更快地工作并发现新的布局选项。

查询块支持对多个作者进行过滤,支持自定义分类法,并支持自定义没有结果时显示的内容。

集成模式
现在,当您在更多地方需要模式时,例如在快速插入器中或创建新的页眉或页脚时,它们会出现。如果您是块主题作者,您甚至可以使用 注册模式目录中的模式theme.json,使您能够优先考虑对您的主题用户最有帮助的特定模式。

更好的列表视图
新的键盘快捷键使您能够从列表视图中选择多个块,批量修改它们,并将它们拖放到列表中。列表视图可以轻松打开和关闭;默认情况下它是折叠的,只要您选择一个块,它就会自动扩展到当前选择。

块锁定控件
现在你可以锁定你的块了。选择禁用移动块、删除块或两者的选项。这简化了项目移交,让您的客户释放他们的创造力,而不必担心在此过程中意外破坏他们的网站。

其他设计工具
设计工具随着每个版本的发布而变得更加强大和直观。
6.0 的一些亮点包括:

新的彩色面板设计节省了空间,但仍然一目了然地显示您的选择。

新的边框控件提供了一种更简单的方法来完全按照您的喜好设置边框。

颜色的透明度级别允许更多创造性的颜色选择。

在组块中一次控制一组块的间隙、边距、排版等。

在堆栈、行和组变体之间切换以定位具有更大布局灵活性的块组。

使用图库块中的间隙支持功能来创建不同的外观 – 从添加所有图像之间的间距,到完全删除间距。

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' );
/* 禁用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+版本之后的响应式图片功能及缩略图裁剪功能*/
// disable generated image sizes 禁止生成图像尺寸
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' );

// disable scaled image size 禁止缩放图片尺寸
add_filter('big_image_size_threshold', '__return_false');

// disable other image sizes 禁止生成其它图像尺寸
function shapeSpace_disable_other_image_sizes() { 
// disable images added via set_post_thumbnail_size() 禁止通过set_post_thumbnail_size()函数生成的图片尺寸
remove_image_size('post-thumbnail'); 
// disable any other added image sizes 禁止添加其它图像尺寸
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/'
], 'gravatar.wp-china-yes.net/', $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');

众所周知WordPress在上传图片的时候会默认生成一堆多余的图片尺寸,如: 768、1536、2048、-scaled这些,通常我们并不需要那么多,而且一旦图片多了会严重占用服务器空间,下面的方法可以非常有效的解决这个问题。

第一步:后台-设置-媒体,设置尺寸为0

通常我们只需要设置缩略图的尺寸,其他中等尺寸和大尺寸均可设置为0。当然也有例外,有一些主题是明确说明需要使用到的尺寸设置。

第二步:主题文件 functions.php 中加入以下代码

// 移除多余的图片尺寸
add_filter('intermediate_image_sizes_advanced', 'filter_image_sizes');
function filter_image_sizes($sizes) {
if (isset($sizes['medium_large'])) {
unset($sizes['medium_large']);
}
if (isset($sizes['1536x1536'])) {
unset($sizes['1536x1536']);
}
if (isset($sizes['2048x2048'])) {
unset($sizes['2048x2048']);
}
return $sizes;
}

// 禁止裁剪 -scaled 图片
add_filter('big_image_size_threshold', '__return_false');

//移除WordPress 6.5区块样板菜单项
add_action( 'admin_menu', 'zm_remove_patterns_menu' );
function zm_remove_patterns_menu() {
remove_submenu_page( 'themes.php', 'edit.php?post_type=wp_block' );
}

下载地址

官方下载:https://wordpress.org/latest.zip

Github:https://github.com/WordPress/WordPress

官方下载:https://cn.wordpress.org/download/

官方下载:https://cn.wordpress.org/wordpress-latest-zh_CN.zip

官方下载:https://cn.wordpress.org/latest-zh_CN.tar.gz

THE END
喜欢就支持一下吧
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称

    暂无评论内容