diff --git a/includes/classes/Indexable.php b/includes/classes/Indexable.php index 05d6e87ab..5fcc48eab 100644 --- a/includes/classes/Indexable.php +++ b/includes/classes/Indexable.php @@ -388,6 +388,10 @@ public function bulk_index_dynamically( $object_ids ) { $document = $this->prepare_document( $object_id ); + if ( empty( $document ) ) { + continue; + } + /** * Conditionally kill indexing on a specific object * @@ -404,6 +408,12 @@ public function bulk_index_dynamically( $object_ids ) { $documents[] = $document_str; } + if ( empty( $documents ) ) { + return [ + new \WP_Error( 'ep_bulk_index_no_documents', esc_html__( 'It was not possible to create a body request with the document IDs provided.', 'elasticpress' ), $object_ids ), + ]; + } + $results = $this->send_bulk_index_request( $documents ); /** diff --git a/includes/classes/SyncManager.php b/includes/classes/SyncManager.php index 472113747..b9ee64957 100644 --- a/includes/classes/SyncManager.php +++ b/includes/classes/SyncManager.php @@ -205,6 +205,10 @@ public function index_sync_queue() { $current_blog_id = get_current_blog_id(); foreach ( $this->sync_queue as $blog_id => $sync_queue ) { + if ( empty( $sync_queue ) ) { + continue; + } + if ( $current_blog_id !== $blog_id ) { switch_to_blog( $blog_id ); }