A WordPress-centric search engine for devs and theme authors



set_post_type ›

Since2.5.0
Deprecatedn/a
set_post_type ( $post_id = 0, $post_type = 'post' )
Parameters: (2)
  • (int) $post_id Optional. Post ID to change post type. Default 0.
    Required: No
    Default:
  • (string) $post_type Optional. Post type. Accepts 'post' or 'page' to name a few. Default 'post'.
    Required: No
    Default: 'post'
Returns:
  • (int|false) Amount of rows changed. Should be 1 for success and 0 for failure.
Defined at:
Codex:

Update the post type for the post ID.

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



Source

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 ) );

	clean_post_cache( $post_id );

	return $return;
}