update_site_cache example

/** * Filters the arguments for the site query in the sites list table. * * @since 4.6.0 * * @param array $args An array of get_sites() arguments. */
        $args = apply_filters( 'ms_sites_list_table_query_args', $args );

        $_sites = get_sites( $args );
        if ( is_array( $_sites ) ) {
            update_site_cache( $_sites );

            $this->items = array_slice( $_sites, 0, $per_page );
        }

        $total_sites = get_sites(
            array_merge(
                $args,
                array(
                    'count'  => true,
                    'offset' => 0,
                    'number' => 0,
                )

function _prime_site_caches( $ids$update_meta_cache = true ) {
    global $wpdb;

    $non_cached_ids = _get_non_cached_ids( $ids, 'sites' );
    if ( ! empty( $non_cached_ids ) ) {
        $fresh_sites = $wpdb->get_results( sprintf( "SELECT * FROM $wpdb->blogs WHERE blog_id IN (%s)", implode( ',', array_map( 'intval', $non_cached_ids ) ) ) ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
        update_site_cache( $fresh_sites, false );
    }

    if ( $update_meta_cache ) {
        wp_lazyload_site_meta( $ids );
    }
}

/** * Queue site meta for lazy-loading. * * @since 6.3.0 * * @param array $site_ids List of site IDs. */
Home | Imprint | This part of the site doesn't use cookies.