WordPress 5.9 对文章、文章类型和分类法的更改

在 WordPress 5.9 中,添加了新的钩子和函数来帮助开发人员处理文章、文章类型和分类法。

is_post_type_viewable 过滤器

WordPress 5.9 引入了新的is_post_type_viewable过滤器,允许开发人员挂钩is_post_type_viewable()以覆盖此函数执行的检查。

此过滤器公开$post_type对象以允许返回true或根据他们的需要返回false。预期的过滤值是一个布尔值。由于过滤的值可能会发生变化,包括数据类型,因此此提交包括is_bool()检查,从而确保向后兼容并防止PHP 8.1+中的潜在类型错误。非布尔值(甚至 falsey 和 truthy 值)将导致函数返回false.

用法:

/**
 * Override is_post_type_viewable() value for the "Books" custom post type. 
 */
function wporg_books_is_not_a_viewable_post_type( $is_viewable, $post_type ) {
    if ( __( 'Books', 'my-plugin' ) === $post_type->label ) {
        return false;
    }
    return $is_viewable;
}
add_filter( 'is_post_type_viewable', 'wporg_books_is_not_a_viewable_post_type', 10, 2 );

Trac上的相关工单:#49628

is_post_status_viewable 过滤器

is_post_type_viewable 类似,is_post_status_viewable过滤器允许开发人员挂钩到相关的 PHP 函数。此过滤器公开 $post_status 对象以允许返回true 或根据他们的需要返回 false

用法:

/**
 * Override is_post_status_viewable() value for the "Unread" custom post status. 
 */
function wporg_unread_is_not_a_viewable_post_status( $is_viewable, $post_status ) {
    if ( __( 'Unread', 'my-plugin' ) === $post_status->label ) {
        return false;
    }
    return $is_viewable;
}
add_filter( 'is_post_type_viewable', 'wporg_unread_is_not_a_viewable_post_status', 10, 2 );

Trac 上的相关工单:#54375

post_thumbnail_url 过滤器

WP 5.9 引入了post_thumbnail_url 允许覆盖从wp_get_attachement_image_url()函数返回的默认 url 的新过滤器 。它传递以下参数:

  • $thumbnail_url: 文章缩略图URL(如果文章不存在,则为 false)
  • $post:文章 ID 或 WP_Post 对象。默认是全局的$post
  • $size:用于检索源或高度和宽度尺寸的平面数组的注册图像大小。默认值:post-thumbnail

用法:

/**
 * Override the post thumbnail URL for a specific template.
 */
function wporg_change_post_thumbnail_url_for_about_template( $thumbnail_url, $post, $size ) {
    if ( 'templates/about.php' !== get_page_template_slug( $post ) ) {
        return wp_get_attachment_image_url( get_template_directory . '/images/my-specific-image.png' );
    }
    return $thumbnail_url;
}
add_filter( 'post_thumbnail_url', 'wporg_change_post_thumbnail_url_for_about_template', 10, 3 );

Trac 上的相关工单:#40547

post_thumbnail_id 过滤器

同样,WP 5.9 引入了新的 post_thumbnail_id 过滤器,它允许覆盖从 get_post_thumbnail_id(). 它传递以下参数:

  • $thumbnail_id: 文章缩略图 ID(如果文章不存在,则为 false)
  • $post:文章 ID 或 WP_Post 对象。默认是全局的$post

Trac 上的相关工单:#23983

register_taxonomy() 新标签可用

在 WP 5.9 中,一些静态字符串被替换为额外的标签选项,以允许开发人员更灵活地自定义Edit { taxonomy }屏幕。

添加了以下标签:

  • name_field_description:“编辑标签”屏幕上“名称”字段的说明。默认值:“名称是它在您网站上的显示方式。”
  • parent_field_description:“编辑标签”屏幕上“父”字段的说明。默认值:“分配父术语以创建层次结构。例如,爵士乐这个词将是 Bebop 和 Big Band 的父母。”
  • slug_field_description:编辑标签屏幕上 Slug 字段的说明。默认值:“« slug » 是名称的 URL 友好版本。它通常都是小写的,只包含字母、数字和连字符。”
  • desc_field_description:“编辑标签”屏幕上“说明”字段的说明。默认:“描述默认不突出;但是,某些主题可能会显示出来。”

Trac 上的相关工单:#43060

用于获取文章现有修订版URL 的新函数:wp_get_post_revisions_url()

从 WP 5.9 开始,该wp_get_post_revisions_url()函数可用于获取给定文章修订的链接。

参数:

  • $post_id(可选):文章IDWP_Post对象。默认为 global $post

此函数返回用于在给定文章(或null其他方式)上编辑修订的 URL 。

Trac 上的相关票证:#39062

WP 5.9 中新的内置文章类型

请注意,WordPress 5.9 引入了四种与新的完整站点编辑体验相关的新内置文章类型,并在激活块主题时使用。

  • wp_template:要包含在您的主题中的模板。
  • wp_template_part:要包含在模板中的模板部件。
  • wp_global_styles:站点管理员为当前主题创建和保存的样式。
  • wp_navigation:可以插入站点的导航菜单。

将发布其他开发说明以介绍新的完整站点编辑体验。请注意,上述文章类型适用reserved terms于 WordPress 内部使用。

「点点赞赏,手留余香」

2

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:
1. 本站所有文章教程及资源素材均来源于网络与用户分享或为本站原创,仅限用于学习和研究。
2. 如果内容损害你的权益请联系客服QQ:1642748312给予处理。
码云笔记 » WordPress 5.9 对文章、文章类型和分类法的更改

发表回复

IT互联网行业相关广告投放 更专业 更精准

立即查看 联系我们