wp_post_revision_meta_keys()
云策文档标注
概述
wp_post_revision_meta_keys() 函数用于确定哪些文章元字段应启用修订功能。它基于注册的元数据参数,筛选出 revisions_enabled 为 true 的字段,并可通过过滤器进行自定义。
关键要点
- 函数接受一个必需的字符串参数 $post_type,指定正在修订的文章类型。
- 返回一个数组,包含应启用修订的元键列表。
- 内部逻辑合并了通用文章类型和特定文章类型的注册元数据,然后检查每个元数据的 revisions_enabled 参数。
- 提供 wp_post_revision_meta_keys 过滤器,允许开发者修改返回的元键列表。
代码示例
function wp_post_revision_meta_keys( $post_type ) {
$registered_meta = array_merge(
get_registered_meta_keys( 'post' ),
get_registered_meta_keys( 'post', $post_type )
);
$wp_revisioned_meta_keys = array();
foreach ( $registered_meta as $name => $args ) {
if ( $args['revisions_enabled'] ) {
$wp_revisioned_meta_keys[ $name ] = true;
}
}
$wp_revisioned_meta_keys = array_keys( $wp_revisioned_meta_keys );
/**
* Filter the list of post meta keys to be revisioned.
*
* @since 6.4.0
*
* @param array $keys An array of meta fields to be revisioned.
* @param string $post_type The post type being revisioned.
*/
return apply_filters( 'wp_post_revision_meta_keys', $wp_revisioned_meta_keys, $post_type );
}注意事项
- 此函数在 WordPress 6.4.0 版本中引入,用于支持文章元数据的修订功能。
- 相关函数包括 get_registered_meta_keys() 和 apply_filters(),用于获取元数据和应用过滤器。
- 在多个核心函数中使用,如 _wp_preview_meta_filter() 和 wp_save_revisioned_meta_fields(),确保元数据修订的一致性。
原文内容
Determine which post meta fields should be revisioned.
Parameters
$post_typestringrequired-
The post type being revisioned.
Source
function wp_post_revision_meta_keys( $post_type ) {
$registered_meta = array_merge(
get_registered_meta_keys( 'post' ),
get_registered_meta_keys( 'post', $post_type )
);
$wp_revisioned_meta_keys = array();
foreach ( $registered_meta as $name => $args ) {
if ( $args['revisions_enabled'] ) {
$wp_revisioned_meta_keys[ $name ] = true;
}
}
$wp_revisioned_meta_keys = array_keys( $wp_revisioned_meta_keys );
/**
* Filter the list of post meta keys to be revisioned.
*
* @since 6.4.0
*
* @param array $keys An array of meta fields to be revisioned.
* @param string $post_type The post type being revisioned.
*/
return apply_filters( 'wp_post_revision_meta_keys', $wp_revisioned_meta_keys, $post_type );
}
Hooks
- apply_filters( ‘wp_post_revision_meta_keys’, array $keys, string $post_type )
-
Filter the list of post meta keys to be revisioned.
Changelog
| Version | Description |
|---|---|
| 6.4.0 | Introduced. |