WP_Importer::get_imported_posts( string $importer_name, string $blog_id ): array

In this article

Returns array with imported permalinks from WordPress database.

Parameters

$importer_namestringrequired
$blog_idstringrequired

Return

array

Source

public function get_imported_posts( $importer_name, $blog_id ) {
	global $wpdb;

	$hashtable = array();

	$limit  = 100;
	$offset = 0;

	// Grab all posts in chunks.
	do {
		$meta_key = $importer_name . '_' . $blog_id . '_permalink';
		$sql      = $wpdb->prepare( "SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_key = %s LIMIT %d,%d", $meta_key, $offset, $limit );
		$results  = $wpdb->get_results( $sql );

		// Increment offset.
		$offset = ( $limit + $offset );

		if ( ! empty( $results ) ) {
			foreach ( $results as $r ) {
				// Set permalinks into array.
				$hashtable[ $r->meta_value ] = (int) $r->post_id;
			}
		}
	} while ( count( $results ) === $limit );

	return $hashtable;
}

User Contributed Notes

You must log in before being able to contribute a note or feedback.