$args = array( 'post_type' => 'product_variation', 'post_status' => array( 'private', 'publish' ), 'numberposts' => -1, 'orderby' => 'menu_order', 'order' => 'asc', 'post_parent' => get_the_ID() // Product ID ); $variations = get_posts( $args ); foreach ( $variations as $variation ) { // get variation ID $variation_ID = $variation->ID; // get variations meta $product_variation = new WC_Product_Variation( $variation_ID ); // get variation featured image $variation_image = $product_variation->get_image(); // get variation price $variation_price = $product_variation->get_price_html(); get_post_meta( $variation_ID , '_text_field_date_expire', true ); }