joem / saturn
WordPress中的基于对象的帖子类型管理。
This package is auto-updated.
Last update: 2024-09-10 04:21:31 UTC
README
WordPress的对象映射帖子类型构建器与界面。
Saturn是一个流畅的界面,用于轻松创建和操作WordPress中的帖子类型及其内容。
有多轻松?看看这里
// Provide arguments. $args = array( 'slug' => 'interview', 'singular' => 'Interview', 'plural' => 'Interviews', 'namespace' => 'twentytwenty', ); // Register the post type. $saturn = new Saturn($args); // Run a query, returning 10 posts. $posts = $saturn->query()->limit( 10 )->runQuery();
Saturn被设计成几乎作为一个模型或资源来表示帖子类型,这意味着你可以通过Saturn的一个实例来创建、删除和更改帖子类型,这很容易。
不仅如此,Saturn提供了一个查询引擎,可以直接在实例中与帖子对象(或页面)交互。查询构建器封装了get_posts
,这意味着从Saturn实例中可以做到get_posts
中的一切——通过一个美丽简单的界面。
创建实例
创建Saturn实例很简单
// Provide arguments. $args = array( 'slug' => 'interview', 'singular' => 'Interview', 'plural' => 'Interviews', 'namespace' => 'twentytwenty', ); // Register the post type. $saturn = new Saturn($args);
Saturn需要一个参数数组,这些参数用于构建帖子类型并创建实例
参数
- slug(字符串)- 用来识别帖子类型的slug。
- singular(字符串)- 帖子类型的单数名称——可读性高,用于标签。
- plural(字符串)- 帖子类型的复数名称——可读性高,用于标签。
- namespace(字符串)- 文本和主题命名空间(通常称为域)的文本。
实例方法
以下详细说明了在Saturn实例中可用的方法。
instance
用法
$saturn->instance();
返回
类型:Object
WP_Post_Type
帖子类型的一个实例。我们不建议更改其内容——相反,请使用Saturn方法。快速访问对象很有帮助。
query
用法
$saturn->query();
返回
类型:Object
Saturn
用于清除查询引擎中先前查询留下的任何残留参数。在设置查询之前使用此方法很重要,以防止出现任何奇怪或不期望的结果。
limit
参数
- quantity(整数)- 为指定查询返回的对象数量。
用法
$saturn->limit( 15 );
返回
类型:Object
Saturn
设置从查询中返回的对象数量。如果指定,查询引擎将返回前n个匹配项。
meta
参数
-
metaQuery(数组)- 一个可以包含单个键值对的数组,键是元slug,值是元值。你可以通过传递包含键值对的数组数组来查询多个元值。
-
queryConfig(数组)- 一系列键值配置项,这些配置项通常在
meta_query
中提供。配置项的一个示例是relation
。不要求。
用法
单个元查询
$saturn->query() ->meta( ['name' => 'joe'] ) ->runQuery();
多个元查询
$saturn->query() ->meta([ ['name' => 'joe'], ['age' => 43]]) ->runQuery();
带有配置的多个元查询
$saturn->query() ->meta([ ['name' => 'joe'], ['age' => 43]], ['relation' => 'AND']) ->runQuery();
返回
类型:Object
Saturn
为查询设置meta_query。
tax
向查询添加tax_query。 参数
- taxQuery(数组)- 包含单个分类查询的数组,符合
WP_Query
的tax_query
参数规范。
用法
$saturn->query() ->tax([ 'taxonomy' => 'people', 'field' => 'slug', 'terms' => 'bob', ]) ->runQuery();