underpin / meta-loader
Underpin 的元加载器
1.1.1
2022-03-25 11:53 UTC
Requires
- underpin/underpin: ^2.0
This package is auto-updated.
Last update: 2024-08-25 17:00:43 UTC
README
辅助WordPress网站访问元数据的加载器。
安装
使用Composer
composer require underpin/meta-record-type-loader
手动
此插件使用内置的自动加载器,因此只要在 Underpin 之前要求它,就应该按预期工作。
require_once(__DIR__ . '/underpin-meta-record-types/meta-record-types.php');
设置
- 安装 Underpin。请参阅 Underpin 文档
- 根据需要注册新的元数据字段。
示例
一个非常基础的示例可能看起来像这样。
// Register meta record type underpin()->meta()->add( 'example-meta-field', [ 'key' => 'unique_meta_key', 'description' => 'Description of the purpose of this field', 'name' => 'Human-readable name', 'default_value' => false, 'type' => 'post', // Metadata type. Can be post or user, or any custom meta type. ] );
或者,您可以扩展 Meta_Record_Type
并直接引用扩展后的类,如下所示
underpin()->meta()->add('meta-record-type-key','Namespace\To\Class');
访问元数据
基本示例
// Fetch from global context $object_id = 1; underpin()->meta()->get_meta( 'example-meta-field',$object_id );
当对象直接可访问时访问
// Fetch, given a meta factory $meta = underpin()->meta()->get('example-meta-field'); $object_id = 1; $meta->get( $object_id );
使用注册器过滤方法获取所有用户元数据
// Fetch all registered user meta // Filter the registry for user meta fields. $registered_user_meta = underpin()->meta()->filter(['type' => 'user']); $values = []; $user_id = 1; foreach($registered_user_meta as $object){ $values[underpin()->meta()->get_key($object)] = $object->get( $user_id ); }
重置指定文章的所有已注册的帖子元数据
// Fetch all registered post meta // Filter the registry for post meta fields. $registered_user_meta = underpin()->meta()->filter(['type' => 'post']); $post_id = 1; foreach($registered_user_meta as $object){ $object->reset( $post_id ); }