Loading
0

开发人员应该关注的WordPress 5.4更改

WordPress 5.4添加了一些针对开发人员的小型更改。让我们来看看!

开发人员应该关注的WordPress 5.4更改

wp_login_failed 将返回更多信息

wp_login_failed钩子中传递了一个新参数 $error ,以获取有关导致登录失败的错误的更多信息。

它是钩子的第二个参数,它包含一个WP_Error带有身份验证失败详细信息的对象。

wp-includes/pluggable.php以下位置可以找到它:

/**  * Fires after a user login has failed.  *  * @since 2.5.0  * @since 4.5.0 The value of `$username` can now be an email address.  * @since 5.4.0 The `$error` parameter was added.  *  * @param string   $username Username or email address.  * @param WP_Error $error    A WP_Error object with the authentication failure details.  */ do_action( 'wp_login_failed', $username, $error );

在Trac上查看相关内容:#49007

多站点:将站点ID添加到newblog_notify_siteadmin过滤钩子

newblog_notify_siteadmin过滤钩子中传递了一个新参数,即网站ID,以帮助您根据网站ID来自定义网站管理员通知。

wp-includes/ms-functions.php以下位置可以找到它:

/**  * Filters the message body of the new site activation email sent  * to the network administrator.  *  * @since MU (3.0.0)  * @since 5.4.0 The `$blog_id` parameter was added.  *  * @param string $msg Email body.  * @param int$blog_id The new site's ID.  */ $msg = apply_filters( 'newblog_notify_siteadmin', $msg, $blog_id );

有关更多信息,请参见:#48554

新增TikTok视频嵌入

WordPress 5.4引入了TikTok作为新的oEmbed提供程序。

从5.4版开始,WordPress将识别遵循以下模式的TikTok视频URL:

'#https?://(www.)?tiktok.com/.*/video/.*#i'

TikTok支持还附带了自己的编辑器块。

另外,TikTok可以在“块”和“经典”编辑器,“文本”小工具中以及在您现在可以使用“嵌入”的其他任何位置嵌入作品。

有关更多信息,请参见:

  • Trac上的相关内容:#49083
  • 古腾堡GitHub存储库上的相关:19345

删除了CollegeHumor视频嵌入

由于CollegeHumor服务不再存在,其oEmbed提供程序已从WordPress 5.3.1中的核心中删除。

在5.4版中,该服务现已完全脱离WordPress,并且已弃用了相应的Gutenberg Embed块。为了向后兼容,现有的CollegeHumor块将自动转换为通用嵌入块。

更多信息,请参阅:

  • 的相关内容:#48696
  • Gutenberg GitHub存储库上的相关请求:18591

媒体:将附件的原始URL存储在_source_url 文章meta中

当您用media_sideload_image从URL旁载文件时,原始URL现在会自动存储为元数据。

您还可以用media_sideload_image用来存储文件的本地副本。

这样就非常棒。首先,为了版权和公平起见,存储源URL为您提供了一种简单的方法来查找该文件的原始托管位置。此外,您可以查询现有附件,而不会两次将相同文件侧载。

附件的原始URL存储在_source_url文章meta中:

add_post_meta( $id, '_source_url', $file );

要了解更多信息,请参阅:#48164

可访问性:管理栏现在可用wp_body_open加载

页面外观应与其加载顺序匹配,这是可访问性的首要原则。长期以来,这一直是WordPress一直坚持的原则。

目前,顶部管理栏一直都是加载到wp_footer钩子:

add_action( 'wp_footer', 'wp_admin_bar_render', 1000 );

在WordPress 5.4中,管理栏会加载到  wp_body_open(自WP 5.2起新增)钩子中,并修复了加载顺序问题:

add_action( 'wp_body_open', 'wp_admin_bar_render', 0 );

当然,某些较旧的主题尚不支持wp_body_open函数。为此,我们在wp_footer函数中添加了兼容:

function wp_footer() {     /*      * Sets up the Admin Bar if the current theme does not use `wp_body_open`.      * @since 5.4.0      */     if ( ! did_action( 'wp_body_open' ) ) {         add_action( 'wp_footer', 'wp_admin_bar_render', 1000 );     } }

更多信息,请访问:#47053

小工具:在最近评论中避免重复的ID

在WordPress 5.4中,“最近评论”小工具将不再生成具有相同HTML ID的小工具。

即使在同一个页面很少可能有多个“最近评论”小工具实例,也请主题作者避免使用在<ul>元素上应用的ID来设置此小工具的样式,因为ID会因每个小工具实例的ID而不同。

更多信息,请访问:#46747

登录和注册:新参数传递给retrieve_password()中的lostpassword_post钩子

从WordPress 5.4开始,新的$user_data参数将传递到 retrieve_password() 中的lostpassword_post钩子中。

如果用户存在,$user_data将返回相应的WP_User对象。否则,参数将返回false

无论哪种方式,开发人员都有另一条信息要执行。

更多信息,请访问:#38334

主题标头支持“Requires at least”和“Requires PHP”声明

WordPress 5.4在主题中增加了对所需WordPress和PHP版本的支持。

邀请主题作者在其主要样式表style.css中声明以下标头项:

Requires PHP:声明所需的最低PHP版本。

Requires at least:声明所需的最低WordPress版本。