API REST de WordPress: más de 10 publicaciones

2 minutos de lectura

Busqué este problema y probé varias soluciones sin suerte.

Mi ruta principal está aquí:
https://cnperformance.wpengine.com/wp-json/wp/v2/products?_embed

Instalé el complemento ‘Parámetro de filtro de la API REST de WP’ para restaurar el filtro eliminado cuando la API REST se movió al núcleo de WordPress.

He intentado:
https://cnperformance.wpengine.com/wp-json/wp/v2/products?_embed&?filter[per_page]=-1

y

https://cnperformance.wpengine.com/wp-json/wp/v2/products?_embed&?filter[posts_per_page]=-1

También probé esto en functions.php

add_filter( 'rest_endpoints', function( $endpoints ){
    if ( ! isset( $endpoints['/wp/v2/products'] ) ) {
        return $endpoints;
    }
    unset( $endpoints['/wp/v2/products'][0]['args']['per_page']['maximum'] );
    return $endpoints;
});

referencia aquí: https://github.com/WP-API/WP-API/issues/2316

Establecí el valor de posts_per_page en 100, -1, no marcó la diferencia. También intenté simplemente agregar los parámetros ‘&posts_per_page=-1 sin la consulta de filtro y tampoco funcionó. ¡Cualquier ayuda o información muy apreciada!

  • Tal vez intente esto https://cnperformance.wpengine.com/wp-json/wp/v2/products?_embed&per_page=100

    – levántate

    23 mayo 2018 a las 19:48

  • Habría apostado dinero a que no funcionaría, ¡pero funcionó! Podría haber jurado que lo había intentado, pero debe haber estado mal en el formato. ¡¡¡gracias!!!

    – Kurtg

    23 mayo 2018 a las 21:23

  • Consulte mi respuesta a esta pregunta aquí: stackoverflow.com/a/54382455/1211184

    – Shimón S.

    26 de enero de 2019 a las 20:34

  • @kurtg, ¿puede marcar mi respuesta como la correcta o hay algo que no está claro?

    –André Kelling

    14 de marzo de 2019 a las 10:36

avatar de usuario
André Kelling

sí, puede obtener más de las 10 publicaciones predeterminadas a la vez.

solo agrega el per_page parámetro a su solicitud.

ejemplo: https://cnperformance.wpengine.com/wp-json/wp/v2/products/?per_page=100

tiempo 100 es el límite máximo actual!

más información: https://developer.wordpress.org/rest-api/using-the-rest-api/pagination/


ejemplo cómo cargar más de 100 artículos en una vez

con un por bucle e información de la cantidad total de páginas después de su primera solicitud:

https://github.com/AndreKelling/mapple/blob/master/public/js/mapple-public.js#L46

  • Esto funciona como un encanto. Pero, ¿tiene alguna idea si desea cargar más de 100 publicaciones a la vez?

    – Kushal J.

    14 de marzo de 2019 a las 8:54

  • @KushalJayswal hola, edité mi publicación con un ejemplo de cómo podrías hacer eso con un bucle for con la ayuda del recuento total de páginas.

    –André Kelling

    14/03/2019 a las 10:35

  • Gracias @AndréKelling. ¿Alguna idea de cómo se aplicó esto al complemento WP Rest API y no a Mapple?

    – alib0ng0

    11 de noviembre de 2021 a las 9:19

Si per_page no funciona, use el filtro[limit]
por ejemplo

https://cnperformance.wpengine.com/wp-json/wp/v2/products/?filter[limit]=100

¿Ha sido útil esta solución?