hanamura / wp-model
WordPress模型对象缺失的功能。
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-28 14:30:07 UTC
README
WordPress模型对象缺失的功能。
API
帖子
WordPress原生帖子对象的扩展包装,WP_Post
。
new Post($post), Post::create($post)
- $post integer | WP_Post
帖子ID或WP_Post对象。
$post = new WPModel\Post($post_id); // same properties of WP_Post are accessible echo $post->post_date; echo $post->post_title; echo $post->post_mime_type;
->permalink, ->permalink()
获取帖子的固定链接。
返回值: string
$post = new WPModel\Post($post_id); echo $post->permalink;
->children, ->children([$options])
获取帖子的子帖子。
- $options array
- $options['id'] integer | array
按ID筛选。 - $options['post_type'] string | array
按帖子类型筛选。 - $options['post_mime_type'] string | array
按帖子MIME类型筛选。
- $options['id'] integer | array
返回值: array
$post = new WPModel\Post($post_id); $children = $post->children(array( 'id' => array(10, 11, 12) )); $attachments = $post->children(array( 'post_type' => 'attachment' )); $images = $post->children(array( 'post_mime_type' => 'image' ));
->terms, ->terms([$options])
获取附加到帖子的术语。
- $options array
- $options['taxonomy'] string
指定分类法。默认值:'category'
- $options['taxonomy'] string
返回值: array
$post = new WPModel\Post($post_id); $custom_terms = $post->terms(array( 'taxonomy' => 'custom_taxonomy' ));
->meta, ->meta()
帖子的PostMeta对象。
返回值: WPModel\PostMeta
$post = new WPModel\Post($post_id); // get meta value echo $post->meta->custom_field; // set meta value $post->meta->custom_field = 'hello';
->image, ->image([$options])
如果帖子是一个图像附件,则获取WPModel\Image对象。
- $options array
- $options['size'] string
通过字符串指定大小(例如'full'
,'large'
,'medium'
,'thumbnail'
)。默认值:'full'
- $options['size'] string
返回值: WPModel\Image
$post = new WPModel\Post($post_id); $thumbnail = $post->image(array( 'size' => 'thumbnail' )); echo $thumbnail->url; echo $thumbnail->path; echo $thumbnail->width; echo $thumbnail->height;
->images, ->images()
如果帖子是一个图像附件,则获取图像数组。
返回值: array
$post = new WPModel\Post($post_id); $images = $post->images; // get WPModel\Image object $images['full']; $images['large']; $images['medium']; $images['thumbnail'];
->group, ->group([$options])
检索按相同术语分组的帖子。
- $options array
- $options['taxonomy'] string
分类法名称。默认值:'category'
- $options['options'] array
内部调用的WP_Query
的自定义参数。 - $options['map'] callable
默认值:array('WPModel\Post', 'create')
- $options['taxonomy'] string
返回值: array
$post = new WPModel\Post($post_id); $related_posts = $post->group(array( 'taxonomy' => 'custom_taxonomy', 'options' => array('posts_per_page' => 5), 'map' => function($post) { return CustomPostClass($post); }, ));
->neighbor($options)
检索前一个/下一个 WP_Post
对象。如果不存在则返回 null
。
- $options array
- $options['post_type'] string | array
帖子类型。默认值:$this->post_type
- $options['direction'] string
邻居的方向:prev
或next
- $options['post_type'] string | array
返回值: WP_Post
$post = new WPModel\Post($post_id); $prev_post = $post->neighbor(array( 'post_type' => ['post', 'custom_post_type'], 'direction' => 'prev', ));
->exists, ->exists()
如果帖子存在,则返回 true
。
返回值: boolean
$post = new WPModel\Post(0); $post->exists; // => false
->hasChild($post)
如果值是帖子的子项,则返回 true
。
- $post integer | WP_Post | WPModel\Post
返回值: boolean
$post = new WPModel\Post($post_id); $post->hasChild($child_post);
->matchMimeType($type)
如果值与帖子的MIME类型匹配,则返回 true
。例如, 'image/jpeg'
, 'image'
和 'jpeg'
匹配 'image/jpeg'
。
- $type string
返回值: boolean
$post = new WPModel\Post($post_id); $post->matchMimeType('image/jpeg');
PostMeta
参见 WPModel\Post
的 ->meta
。
Term
WordPress原生术语对象的扩展包装。参见 wp_get_post_terms
的返回值。
new Term($term, [$taxonomy]), Term::create($term, [$taxonomy])
- $term integer | term object
术语ID或术语对象。 - $taxonomy string
分类法名称。
// create by constructor $term = new WPModel\Term($term_id, 'custom_taxonomy'); // get from WPModel\Post $post = new WPModel\Post($post_id); $terms = $post->terms(array( 'taxonomy' => 'custom_taxonomy' ));
->children, ->children([$options])
获取术语的子术语。
- $options array
参见get_terms
的$args
。
$child_terms = $term->children(array( 'orderby' => 'count', 'hide_empty' => false ));
Image
参见 WPModel\Post
的 ->image
。
User
WordPress原生用户对象的扩展包装,WP_User
。
new User([$user]), User::create([$user])
- $user 整数 | WP_User
用户ID或WP_User对象。如果未指定,则返回当前用户。
// current user $user = new WPModel\User(); // specify user id $user = new WPModel\User($user_id); // same properties of WP_User are accessible echo $user->user_email; echo $user->user_login; echo $user->first_name;
->meta, ->meta()
用户的UserMeta对象。
返回值: WPModel\UserMeta
$user = new WPModel\User(); // get meta value echo $user->meta->rich_editing; // set meta value $user->meta->rich_editing = 'false';
->exists, ->exists()
如果用户存在,则返回true
。
返回值: boolean
$post = new WPModel\User(); $post->exists; // => true
UserMeta
参见WPModel\User
的->meta
。