underpin/meta-loader

Underpin 的元加载器

1.1.1 2022-03-25 11:53 UTC

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');

设置

  1. 安装 Underpin。请参阅 Underpin 文档
  2. 根据需要注册新的元数据字段。

示例

一个非常基础的示例可能看起来像这样。

// 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 );    
}