5.8 KiB
Collections Repository
Main Methods
These are the most used methods of this repository. For a complete list see the repository file.
fetch()
fetch collection based on ID or WP_Query args
Collections are stored as posts. Check WP_Query docs to learn all args accepted in the $args parameter (@see https://developer.wordpress.org/reference/classes/wp_query/) You can also use a mapped property, such as name and description, as an argument and it will be mapped to the appropriate WP_Query argument
If a number is passed to $args, it will return a \Tainacan\Entities\Collection object. But if the post is not found or does not match the entity post type, it will return an empty array
@param array $args WP_Query args || int $args the collection id @param string $output The desired output format (@see \Tainacan\Repositories\Repository::fetch_output() for possible values)
@return \WP_Query|Array an instance of wp query OR array of entities;
fetch_one()
Fetch one Entity based on query args.
Note: Does not work with Item_Metadata Repository
@param array $args Query Args as expected by fetch
@return false|\Tainacan\Entities The entity or false if none was found
insert()
@param \Tainacan\Entities\Collection $collection
@return \Tainacan\Entities\Collection {@inheritDoc} @see \Tainacan\Repositories\Repository::insert()
update()
delete()
@param $collection_id
@return mixed|Collection
trash()
@param $collection_id
@return mixed|Collection
Usage
$repository = \Tainacan\Repositories\Collections::get_instance();
Entity Properties
These are the Entity attributes for this repository. The Entity class is at classes/entities folder
Property | Description | Slug | Getter | Setter | Stored as |
---|---|---|---|---|---|
Status | The current situation of the post | status | $entity->get_status() |
$entity->set_status() |
post_status |
ID | Unique identifier | id | $entity->get_id() |
$entity->set_id() |
ID |
Name | The title of the collection | name | $entity->get_name() |
$entity->set_name() |
post_title |
Author ID | The collection author's user ID (numeric string) | author_id | $entity->get_author_id() |
$entity->set_author_id() |
post_author |
Creation Date | The collection creation date | creation_date | $entity->get_creation_date() |
$entity->set_creation_date() |
post_date |
Modification Date | The collection modification date | modification_date | $entity->get_modification_date() |
$entity->set_modification_date() |
post_modified |
Order | Collection order. This metadata is used if collections are manually ordered. | order | $entity->get_order() |
$entity->set_order() |
order |
Parent Collection | Original collection from which features are inherited | parent | $entity->get_parent() |
$entity->set_parent() |
post_parent |
Description | An introductory text describing the collection | description | $entity->get_description() |
$entity->set_description() |
post_content |
Slug | An unique and sanitized string representation of the collection, used to build the collection URL. It must not contain any special characters or spaces. | slug | $entity->get_slug() |
$entity->set_slug() |
post_name |
Default Order metadata | Default property items in this collections will be ordered by | default_orderby | $entity->get_default_orderby() |
$entity->set_default_orderby() |
meta |
Default order | Default order for items in this collection. ASC or DESC | default_order | $entity->get_default_order() |
$entity->set_default_order() |
meta |
Default Displayed Metadata | List of collection properties that will be displayed in the table view | default_displayed_metadata | $entity->get_default_displayed_metadata() |
$entity->set_default_displayed_metadata() |
meta |
Default view mode | Collection default visualization mode | default_view_mode | $entity->get_default_view_mode() |
$entity->set_default_view_mode() |
meta |
Enabled view modes | Which visualization modes will be available for the public to choose from | enabled_view_modes | $entity->get_enabled_view_modes() |
$entity->set_enabled_view_modes() |
meta |
Ordination metadata | Collection metadata ordination | metadata_order | $entity->get_metadata_order() |
$entity->set_metadata_order() |
meta |
Ordination filters | Collection filters ordination | filters_order | $entity->get_filters_order() |
$entity->set_filters_order() |
meta |
Enable Cover Page | To use this page as the home page of this collection | enable_cover_page | $entity->get_enable_cover_page() |
$entity->set_enable_cover_page() |
meta |
Cover Page ID | If enabled, this custom page will be used as cover for this collection, instead of default items list. | cover_page_id | $entity->get_cover_page_id() |
$entity->set_cover_page_id() |
meta |
Header Image | The image to be used in collection header | header_image_id | $entity->get_header_image_id() |
$entity->set_header_image_id() |
meta |
Moderators | To assign users as Moderators of this collection | moderators_ids | $entity->get_moderators_ids() |
$entity->set_moderators_ids() |
meta_multi |
Thumbnail | Squared reduced-size version of a picture that helps recognizing and organizing files | _thumbnail_id | $entity->get__thumbnail_id() |
$entity->set__thumbnail_id() |
meta |
Comment Status | Collection comment status: "open" means comments are allowed, "closed" means comments are not allowed. | comment_status | $entity->get_comment_status() |
$entity->set_comment_status() |
comment_status |
Allow Items Comments | Collection items comment status: "open" means comments are allowed, "closed" means comments are not allowed. | allow_comments | $entity->get_allow_comments() |
$entity->set_allow_comments() |
meta |
Entity usage
Create new
$entity = new \Tainacan\Entities\Collection();
Get existing by ID
$repository = \Tainacan\Repositories\Collections::get_instance();
$entity = $repository->fetch(12);
echo 'My ID is ' . $entity->get_id(); // 12