hanamura / wp-model
Missing functionalities from model objects of WordPress.
Installs: 4 476
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-10-26 14:51:12 UTC
README
Missing functionalities from model objects of WordPress.
API
Post
Extended wrapper of native post object of WordPress, WP_Post
.
new Post($post), Post::create($post)
- $post integer | WP_Post
Post id or WP_Post object.
$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()
Get permalink of the post.
Returns: string
$post = new WPModel\Post($post_id); echo $post->permalink;
->children, ->children([$options])
Get child posts of the post.
- $options array
- $options['id'] integer | array
Filter by ids. - $options['post_type'] string | array
Filter by post types. - $options['post_mime_type'] string | array
Filter by post mime types.
- $options['id'] integer | array
Returns: 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])
Get terms attached to the post.
- $options array
- $options['taxonomy'] string
Specify taxonomy. Default value:'category'
- $options['taxonomy'] string
Returns: array
$post = new WPModel\Post($post_id); $custom_terms = $post->terms(array( 'taxonomy' => 'custom_taxonomy' ));
->meta, ->meta()
PostMeta object of the post.
Retusns: 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])
Get WPModel\Image object if the post is an image attachment.
- $options array
- $options['size'] string
Specify size by string (e.g.'full'
,'large'
,'medium'
,'thumbnail'
). Default value:'full'
- $options['size'] string
Returns: 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()
Get images array if the post is an image attachment.
Returns: 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])
Retrieve posts grouped by same terms.
- $options array
- $options['taxonomy'] string
Taxonomy name. Default value:'category'
- $options['options'] array
Custom arguments forWP_Query
that is internally called. - $options['map'] callable
Default value:array('WPModel\Post', 'create')
- $options['taxonomy'] string
Returns: 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)
Retrieve a prev/next WP_Post
object. Returns null
if it doesn’t exist.
- $options array
- $options['post_type'] string | array
Post type. Default value:$this->post_type
- $options['direction'] string
Direction of neighbor:prev
ornext
- $options['post_type'] string | array
Returns: WP_Post
$post = new WPModel\Post($post_id); $prev_post = $post->neighbor(array( 'post_type' => ['post', 'custom_post_type'], 'direction' => 'prev', ));
->exists, ->exists()
Return true
if the post exists.
Returns: boolean
$post = new WPModel\Post(0); $post->exists; // => false
->hasChild($post)
Return true
if the value is a child of the post.
- $post integer | WP_Post | WPModel\Post
Returns: boolean
$post = new WPModel\Post($post_id); $post->hasChild($child_post);
->matchMimeType($type)
Return true
if the value matches mime type of the post. For example, 'image/jpeg'
, 'image'
and 'jpeg'
match 'image/jpeg'
.
- $type string
Retusns: boolean
$post = new WPModel\Post($post_id); $post->matchMimeType('image/jpeg');
PostMeta
See ->meta
of WPModel\Post
.
Term
Extended wrapper of native term object of WordPress. See return values of wp_get_post_terms
.
new Term($term, [$taxonomy]), Term::create($term, [$taxonomy])
- $term integer | term object
Term id or term object. - $taxonomy string
Taxonomy name.
// 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])
Get child terms of the term.
- $options array
See$args
ofget_terms
.
$child_terms = $term->children(array( 'orderby' => 'count', 'hide_empty' => false ));
Image
See ->image
of WPModel\Post
.
User
Extended wrapper of native user object of WordPress, WP_User
.
new User([$user]), User::create([$user])
- $user integer | WP_User
User id or WP_User object. If not specified, returns current 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 object of the user.
Returns: WPModel\UserMeta
$user = new WPModel\User(); // get meta value echo $user->meta->rich_editing; // set meta value $user->meta->rich_editing = 'false';
->exists, ->exists()
Return true
if the user exists.
Returns: boolean
$post = new WPModel\User(); $post->exists; // => true
UserMeta
See ->meta
of WPModel\User
.