Obtengo los mismos resultados para cada página usando la paginación de WooCommerce. ¿Qué estoy haciendo mal? ¿Tal vez le falta el restablecimiento de datos posteriores en alguna parte? Este es mi ejemplo de código:
$products = new WP_Query($product_args); if ($products->have_posts()): while ($products->have_posts()): $products->the_post(); wc_get_template_part("content", "product"); endwhile; wp_reset_postdata($products); endif; echo paginate_links([ "base" => str_replace( 999999999, "%#%", esc_url(get_pagenum_link(999999999)) ), "total" => $products->max_num_pages, "current" => max(1, get_query_var("paged")), "format" => "?paged=%#%", "show_all" => false, "type" => "list", "end_size" => 2, "mid_size" => 4, "prev_next" => true, "prev_text" => is_rtl() ? "→" : "←", "next_text" => is_rtl() ? "←" : "→", "add_args" => false, "add_fragment" => "", ]);Gracias al comentario de @Outsource WordPress me llevaron a una solución. Cambié la parte de mi código así y lo hice funcionar. Reemplacé offset con paginado:
$product_args = [ "post_type" => "product", "post_status" => "publish", "orderby" => "ID", "suppress_filters" => false, "order" => "ASC", "paged" => max(1, get_query_var('paged')), "posts_per_page" => "16", ];