POSTS

Posts

  • A post is a content item stored in the posts table. Each has a post_type assigned to it, which could be an extension setting or user data for the extension page or something else.

  • All the data is stored in the Posts table and mapped with the company_id and user_id. Here are the important columns the Post table has.

Structure of the miniCal Post Table

  • post_title - can be a string like a description related to the post.

  • post_type - can be a string this can define the type of functionality.

  • post_status - can be a string (publish/unpublish) it determines whether the post is published or not.

  • post_date - the Date-Time of a post when created.

  • company_id - current company id (can get this from the session).

  • user_id - logged-in user id (can get this from the session).

// Create an post to the database
add_post($post);

// delete a post data. If the second parameter is true then
// the post is deleted permanently, default is false.
delete_post(int $post_id = null, bool $force_delete = false )

// get post form posts table.
get_post( $post );

// edit a post data of posts table
edit_post(array $post = null)

Relationships Between Posts

The post_parent the field is an important one, as it stores information about relationships between different posts. These include:

  • parent and child pages

  • revisions and the post they relate to

  • attachments and the post they were uploaded to

You can use the post_parent the field in various ways in your queries. For example, to query for child pages of a given page, you would use the following, where ID is the ID of the parent page:

'post_parent' => 'ID'

You could use a similar query to display attachments uploaded to a given post, or alternatively, you could query attachments with no parent (i.e. those uploaded directly to the media screen in the dashboard).

To do this, you would use the following argument:

'post_parent' => '0'

Last updated