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

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

is_post_type_viewable 过滤器

WP 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 内部使用。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
欢迎关注我们的微信公众号:WPDAXUE

倡萌

一个文科IT宅男,喜欢折腾WordPress和被它折腾 ^_^

暂无评论

发表评论

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