function set_post_type( $post_id = 0, $post_type = 'post' ) {}

Updates the post type for the post ID.
The page or post cache will be cleaned for the post ID.


  • int $post_id: Post ID to change post type. Not actually optional.
  • string $post_type: Optional, default is post. Supported values are ‘post’ or ‘page’ to name a few.

Return values

returns:Amount of rows changed. Should be 1 for success and 0 for failure.

Source code

function set_post_type( $post_id = 0, $post_type = 'post' ) {

	global $wpdb;

	$post_type = sanitize_post_field('post_type', $post_type, $post_id, 'db');

	$return = $wpdb->update($wpdb->posts, array('post_type' => $post_type), array('ID' => $post_id) );

	if ( 'page' == $post_type )




	return $return;



No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: