The metadata_lazyloader_queued_objects WordPress action fires after objects are added to the metadata lazy-load queue.
Usage
add_action('metadata_lazyloader_queued_objects', 'my_custom_function', 10, 3);
function my_custom_function($object_ids, $object_type, $lazyloader) {
// Your custom code here
}
Parameters
- $object_ids (array) – Array of object IDs.
- $object_type (string) – Type of object being queued.
- $lazyloader (WP_Metadata_Lazyloader) – The lazy-loader object.
More information
See WordPress Developer Resources: metadata_lazyloader_queued_objects
Examples
Log queued object IDs
Log the queued object IDs to a file.
add_action('metadata_lazyloader_queued_objects', 'log_queued_object_ids', 10, 3);
function log_queued_object_ids($object_ids, $object_type, $lazyloader) {
// Convert object IDs array to a string
$ids_string = implode(', ', $object_ids);
// Log to a file
error_log("Queued Object IDs for {$object_type}: {$ids_string}");
}
Add custom metadata
Add custom metadata to queued objects.
add_action('metadata_lazyloader_queued_objects', 'add_custom_metadata', 10, 3);
function add_custom_metadata($object_ids, $object_type, $lazyloader) {
// Check if the object type is 'post'
if ($object_type === 'post') {
// Add custom metadata to each queued post
foreach ($object_ids as $post_id) {
add_post_meta($post_id, 'my_custom_meta_key', 'my_custom_meta_value');
}
}
}
Modify post titles
Modify post titles of queued objects.
add_action('metadata_lazyloader_queued_objects', 'modify_post_titles', 10, 3);
function modify_post_titles($object_ids, $object_type, $lazyloader) {
if ($object_type === 'post') {
foreach ($object_ids as $post_id) {
$post = get_post($post_id);
$post->post_title = 'Modified: ' . $post->post_title;
wp_update_post($post);
}
}
}
Remove specific metadata
Remove a specific metadata from queued objects.
add_action('metadata_lazyloader_queued_objects', 'remove_specific_metadata', 10, 3);
function remove_specific_metadata($object_ids, $object_type, $lazyloader) {
if ($object_type === 'post') {
foreach ($object_ids as $post_id) {
delete_post_meta($post_id, 'unwanted_meta_key');
}
}
}
Count queued objects
Count the number of queued objects and store the result in an option.
add_action('metadata_lazyloader_queued_objects', 'count_queued_objects', 10, 3);
function count_queued_objects($object_ids, $object_type, $lazyloader) {
// Get the current count from the option
$current_count = get_option('my_queued_object_count', 0);
// Update the count
$new_count = $current_count + count($object_ids);
update_option('my_queued_object_count', $new_count);
}