Index: wp-admin/includes/post.php
===================================================================
--- wp-admin/includes/post.php	(revision 40196)
+++ wp-admin/includes/post.php	(working copy)
@@ -664,7 +664,7 @@
 }
 
 /**
- * Determine if a post exists based on title, content, and date
+ * Determine if a post exists based on title, content, date and type.
  *
  * @since 2.0.0
  *
@@ -673,14 +673,16 @@
  * @param string $title Post title
  * @param string $content Optional post content
  * @param string $date Optional post date
+ * @param string type Optional post type
  * @return int Post ID if post exists, 0 otherwise.
  */
-function post_exists($title, $content = '', $date = '') {
+function post_exists( $title, $content = '', $date = '', $type = '' ) {
 	global $wpdb;
 
 	$post_title = wp_unslash( sanitize_post_field( 'post_title', $title, 0, 'db' ) );
 	$post_content = wp_unslash( sanitize_post_field( 'post_content', $content, 0, 'db' ) );
 	$post_date = wp_unslash( sanitize_post_field( 'post_date', $date, 0, 'db' ) );
+	$post_type = wp_unslash( sanitize_post_field( 'post_type', $type, 0, 'db' ) );
 
 	$query = "SELECT ID FROM $wpdb->posts WHERE 1=1";
 	$args = array();
@@ -699,6 +701,11 @@
 		$query .= ' AND post_content = %s';
 		$args[] = $post_content;
 	}
+	
+	if ( !empty ( $type ) ) {
+    $query .= ' AND post_type = %s';
+    $args[] = $post_type;
+  }
 
 	if ( !empty ( $args ) )
 		return (int) $wpdb->get_var( $wpdb->prepare($query, $args) );
