WP_REST_Post_Meta_Fields
云策文档标注
概述
WP_REST_Post_Meta_Fields 是 WordPress 核心类,用于通过 REST API 管理文章的自定义字段(meta values)。它继承自 WP_REST_Meta_Fields,专门处理文章类型的元数据操作。
关键要点
- 继承自 WP_REST_Meta_Fields,提供文章元数据的 REST API 管理功能
- 构造函数接受 $post_type 参数,指定要注册字段的文章类型
- 包含 get_meta_type()、get_meta_subtype() 和 get_rest_field_type() 方法,用于获取元数据类型和 REST 字段类型
- 自 WordPress 4.7.0 版本引入,是 REST API 元数据支持的核心组件
代码示例
class WP_REST_Post_Meta_Fields extends WP_REST_Meta_Fields {
protected $post_type;
public function __construct( $post_type ) {
$this->post_type = $post_type;
}
protected function get_meta_type() {
return 'post';
}
protected function get_meta_subtype() {
return $this->post_type;
}
public function get_rest_field_type() {
return $this->post_type;
}
}
原文内容
Core class used to manage meta values for posts via the REST API.
Description
See also
Methods
| Name | Description |
|---|---|
| WP_REST_Post_Meta_Fields::__construct | Constructor. |
| WP_REST_Post_Meta_Fields::get_meta_subtype | Retrieves the post meta subtype. |
| WP_REST_Post_Meta_Fields::get_meta_type | Retrieves the post meta type. |
| WP_REST_Post_Meta_Fields::get_rest_field_type | Retrieves the type for register_rest_field() . |
Source
class WP_REST_Post_Meta_Fields extends WP_REST_Meta_Fields {
/**
* Post type to register fields for.
*
* @since 4.7.0
* @var string
*/
protected $post_type;
/**
* Constructor.
*
* @since 4.7.0
*
* @param string $post_type Post type to register fields for.
*/
public function __construct( $post_type ) {
$this->post_type = $post_type;
}
/**
* Retrieves the post meta type.
*
* @since 4.7.0
*
* @return string The meta type.
*/
protected function get_meta_type() {
return 'post';
}
/**
* Retrieves the post meta subtype.
*
* @since 4.9.8
*
* @return string Subtype for the meta type, or empty string if no specific subtype.
*/
protected function get_meta_subtype() {
return $this->post_type;
}
/**
* Retrieves the type for register_rest_field().
*
* @since 4.7.0
*
* @see register_rest_field()
*
* @return string The REST field type.
*/
public function get_rest_field_type() {
return $this->post_type;
}
}
Changelog
| Version | Description |
|---|---|
| 4.7.0 | Introduced. |