_get_non_cached_ids example


function _prime_post_caches( $ids$update_term_cache = true, $update_meta_cache = true ) {
    global $wpdb;

    $non_cached_ids = _get_non_cached_ids( $ids, 'posts' );
    if ( ! empty( $non_cached_ids ) ) {
        $fresh_posts = $wpdb->get_results( sprintf( "SELECT $wpdb->posts.* FROM $wpdb->posts WHERE ID IN (%s)", implode( ',', $non_cached_ids ) ) );

        if ( $fresh_posts ) {
            // Despite the name, update_post_cache() expects an array rather than a single post.             update_post_cache( $fresh_posts );
        }
    }

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

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 );
    }
}


function _prime_term_caches( $term_ids$update_meta_cache = true ) {
    global $wpdb;

    $non_cached_ids = _get_non_cached_ids( $term_ids, 'terms' );
    if ( ! empty( $non_cached_ids ) ) {
        $fresh_terms = $wpdb->get_results( sprintf( "SELECT t.*, tt.* FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id WHERE t.term_id IN (%s)", implode( ',', array_map( 'intval', $non_cached_ids ) ) ) );

        update_term_cache( $fresh_terms );
    }

    if ( $update_meta_cache ) {
        wp_lazyload_term_meta( $term_ids );
    }
}


function _prime_network_caches( $network_ids ) {
    global $wpdb;

    $non_cached_ids = _get_non_cached_ids( $network_ids, 'networks' );
    if ( ! empty( $non_cached_ids ) ) {
        $fresh_networks = $wpdb->get_results( sprintf( "SELECT $wpdb->site.* FROM $wpdb->site WHERE id IN (%s)", implode( ',', array_map( 'intval', $non_cached_ids ) ) ) ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
        update_network_cache( $fresh_networks );
    }
}

    function cache_users( $user_ids ) {
        global $wpdb;

        update_meta_cache( 'user', $user_ids );

        $clean = _get_non_cached_ids( $user_ids, 'users' );

        if ( empty( $clean ) ) {
            return;
        }

        $list = implode( ',', $clean );

        $users = $wpdb->get_results( "SELECT * FROM $wpdb->users WHERE ID IN ($list)" );

        foreach ( $users as $user ) {
            update_user_caches( $user );
        }

function _prime_comment_caches( $comment_ids$update_meta_cache = true ) {
    global $wpdb;

    $non_cached_ids = _get_non_cached_ids( $comment_ids, 'comment' );
    if ( ! empty( $non_cached_ids ) ) {
        $fresh_comments = $wpdb->get_results( sprintf( "SELECT $wpdb->comments.* FROM $wpdb->comments WHERE comment_ID IN (%s)", implode( ',', array_map( 'intval', $non_cached_ids ) ) ) );

        update_comment_cache( $fresh_comments, false );
    }

    if ( $update_meta_cache ) {
        wp_lazyload_comment_meta( $comment_ids );
    }
}

Home | Imprint | This part of the site doesn't use cookies.