WP_Metadata_Lazyloader::queue_objects()publicWP 4.5.0

Adds objects to the metadata lazy-load queue.

Method of the class: WP_Metadata_Lazyloader{}

Hooks from the method

Return

null|WP_Error. WP_Error on failure.

Usage

$WP_Metadata_Lazyloader = new WP_Metadata_Lazyloader();
$WP_Metadata_Lazyloader->queue_objects( $object_type, $object_ids );
$object_type(string) (required)
Type of object whose meta is to be lazy-loaded. Accepts 'term' or 'comment'.
$object_ids(array) (required)
Array of object IDs.

Changelog

Since 4.5.0 Introduced.

WP_Metadata_Lazyloader::queue_objects() code WP 6.5.2

public function queue_objects( $object_type, $object_ids ) {
	if ( ! isset( $this->settings[ $object_type ] ) ) {
		return new WP_Error( 'invalid_object_type', __( 'Invalid object type.' ) );
	}

	$type_settings = $this->settings[ $object_type ];

	if ( ! isset( $this->pending_objects[ $object_type ] ) ) {
		$this->pending_objects[ $object_type ] = array();
	}

	foreach ( $object_ids as $object_id ) {
		// Keyed by ID for faster lookup.
		if ( ! isset( $this->pending_objects[ $object_type ][ $object_id ] ) ) {
			$this->pending_objects[ $object_type ][ $object_id ] = 1;
		}
	}

	add_filter( $type_settings['filter'], $type_settings['callback'], 10, 5 );

	/**
	 * Fires after objects are added to the metadata lazy-load queue.
	 *
	 * @since 4.5.0
	 *
	 * @param array                  $object_ids  Array of object IDs.
	 * @param string                 $object_type Type of object being queued.
	 * @param WP_Metadata_Lazyloader $lazyloader  The lazy-loader object.
	 */
	do_action( 'metadata_lazyloader_queued_objects', $object_ids, $object_type, $this );
}