Title: Listado de posts de toda la red en multisite
Last modified: 28 de agosto de 2017

---

# Listado de posts de toda la red en multisite

 *  [dacmail](https://es.wordpress.org/support/users/dacmail/)
 * (@dacmail)
 * [hace 9 años, 1 mes](https://es.wordpress.org/support/topic/listado-de-posts-de-toda-la-red-en-multisite/)
 * Hola, he hecho búsquedas y no he encontrado ninguna pregunta similar, por otro
   lado no se si este hilo es mejor en «Multisite» o en «WordPress Avanzado».
 * Mi duda es la siguiente, tengo un multisite con más de 20 sitios, todos comparten
   un listado de tags (custom taxonomy), lo que necesito, es mostrar en el sitio
   principal el listado de posts en base a un término concreto de esa taxonomía.
   Algo como hace WordPress.com aquí: [https://en.wordpress.com/tag/digital-marketing/](https://en.wordpress.com/tag/digital-marketing/)
 * Me rondan la cabeza dos ideas:
    1. Recorrer todos los blogs con `swtich_to_blog()`
   y ejecutar en cada uno la query que necesito, (luego tendría que reagruparlos
   en un array y reordenarlos). 2. Usar alguna tabla común (varias, por que hay 
   que guardar también el taxonomy) a todos los blogs donde vaya metiendo los posts
   de cada sitio una vez se publiquen.
 * He buscado también plugins pero no he encontrado ninguno que permita hacer eso.

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)

 *  Moderador [LGrusin](https://es.wordpress.org/support/users/lgrusin/)
 * (@lgrusin)
 * [hace 9 años, 1 mes](https://es.wordpress.org/support/topic/listado-de-posts-de-toda-la-red-en-multisite/#post-64657)
 * Desde [wisdmlabs.com](https://wisdmlabs.com/blog/how-to-list-posts-from-all-blogs-on-wordpress-multisite/)
   tienes un código para recoger todos los posts de todos los sitios.
 *     ```
       function display_blogs() {
        // loop through all blogs
        $all_blog = wp_get_sites();
        foreach ($blog_ids as $key=>$current_blog) {
         // switch to each blog to get the posts
         switch_to_blog($current_blog['blog_id']);
         // fetch all the posts
         $blog_posts = get_posts(array( 'posts_per_page' => -1));
         restore_current_blog();
         // display all posts
         }
       }
       ```
   
 * Lo que no tengo tan claro es el rendimiento cuando hagas una consulta de este
   tipo, me parece un consumo de recursos innecesario.
 * Un saludo
 *  Iniciador del debate [dacmail](https://es.wordpress.org/support/users/dacmail/)
 * (@dacmail)
 * [hace 9 años, 1 mes](https://es.wordpress.org/support/topic/listado-de-posts-de-toda-la-red-en-multisite/#post-64668)
 * Gracias [@lgrusin](https://es.wordpress.org/support/users/lgrusin/), esa solución
   usando `switch_to_blog` es la más básica, aunque para hacer un listado cronológico
   que mezcle resultados de todos los blogs habría que hacer varias operaciones 
   más.
 * Dejo aquí otras posibles alternativas:
    - WP_Query_Multisite: Que al parecer combina consultas SQL y puedes usarlo como
      venimos usando `WP_Query`, con todos sus parámetros: [https://github.com/miguelpeixe/WP_Query_Multisite](https://github.com/miguelpeixe/WP_Query_Multisite)
    - ElasticPress: Permite hacer búsquedas cross-site usando `WP_Query` y elasticsearch:
      [https://github.com/10up/ElasticPress](https://github.com/10up/ElasticPress)
 * No he probado ninguna de las dos aún, pero creo que son las dos mejores soluciones
   que he encontrado
 * Muchas gracias de nuevo!
    -  Esta respuesta fue modificada hace 9 años, 1 mes por [dacmail](https://es.wordpress.org/support/users/dacmail/).
 *  Moderador [Mariano Pérez Caro](https://es.wordpress.org/support/users/mpcdigital/)
 * (@mpcdigital)
 * [hace 9 años, 1 mes](https://es.wordpress.org/support/topic/listado-de-posts-de-toda-la-red-en-multisite/#post-64705)
 * Estos plugins te pueden valer:
 * * Este más sencillo: [https://premium.wpmudev.org/project/recent-posts/](https://premium.wpmudev.org/project/recent-posts/)
   *
   Y este que hace más cosas: [https://premium.wpmudev.org/project/post-indexer/](https://premium.wpmudev.org/project/post-indexer/)

Viendo 3 respuestas - de la 1 a la 3 (de un total de 3)

 El debate ‘Listado de posts de toda la red en multisite’ está cerrado a nuevas 
respuestas.

## Etiquetas

 * [query](https://es.wordpress.org/support/topic-tag/query/)
 * [wp_query](https://es.wordpress.org/support/topic-tag/wp_query/)

 * En: [Multisitio](https://es.wordpress.org/support/forum/multisite/)
 * 3 respuestas
 * 3 participantes
 * Última respuesta de: [Mariano Pérez Caro](https://es.wordpress.org/support/users/mpcdigital/)
 * Última actividad: [hace 9 años, 1 mes](https://es.wordpress.org/support/topic/listado-de-posts-de-toda-la-red-en-multisite/#post-64705)
 * Estado: sin resolver

## Debates

### Debates populares

### Debates sin respuestas

### Debates que no son soporte

### Debates resueltos

### Debates no resueltos

### Todos los debates
