Personalizar número de artículos por página en WordPress

Seguramente te ha surgido este problema alguna vez. Para una categoría en concreto quieres cambiar el número de artículos que se muestran. En mi caso la intención era aumentar este número.

Para ello hay que modificar un fichero de nuestro tema: el archivo de funciones personalizadas, por defecto, functions.php

#### Añadimos al fichero functions.php lo siguiente ####

/*
 * Personalización del número de posts o artículos por página de una categoría.
 * Capacidad de añadir que se ignoren algunos artículos iniciales
 */

function myprefix_query_offset(&$query) {

  //Antes de nada, asegúrate de trabajar con la consulta correcta
  //En este caso estamos trabajando con los artículos de la categoría 38

  if ( ! $query->is_category('38') ) {

    return;

  }

  //Define el artículo por el que vas a empezar. 0 es el primero, 1 el segundo...
  $offset = 0;

  //Ahora, escribe cuantos artículos quieres ver por página
  $ppp = 10;

  //Comprobamos si estamos en una página distinta a la primera
  if ( $query->is_paged ) {

    //Si estamos en la segunda página o siguientes definimos el artículo por el que debemos empezar como: El número de artículos que hemos decidido saltarnos al principio más el producto del número de página donde estamos menos 1 por el número de artículos por página.
    $page_offset = $offset + ( ($query->query_vars['paged']-1) * $ppp );
    //Aplicamos estos ajustes a la consulta. Tanto el número de artículo por el que empezar como los artículos por página
    $query->set('offset', $page_offset );
    $query->set('posts_per_page', $ppp );

  }
  else {

    //Esta es la primera página. Aplicamos el valor del artículo por que empezar con el que tu has definido al principio. También definimos el número de artículos por página
    $query->set('offset',$offset);
    $query->set('posts_per_page', $ppp );

  }
}

add_action('pre_get_posts', 'myprefix_query_offset', 1 );

/*
 * Función que permite ajustar correctamente
 * el número de páginas a mostrar
 */
function myprefix_adjust_offset_pagination($found_posts, $query) {

  //Escribe otra vez el número de artículo por el que empezar
  $offset = 0;

  //Asegúrate de que aplicas esto sobre el tipo de artículo correcto.
  if ( $query->is_category('38') ) {
  //Restamos al número de artículos encontrados
  //el del artículo por el que empezar
    return $found_posts - $offset;

  }

  //Si no es nuestro caso particular dejamos todo como estaba
  return $found_posts;

}

add_filter('found_posts', 'myprefix_adjust_offset_pagination', 1, 2 );

Código modificado a partir del que podemos encontrar en: Making Custom Queries using Offset and Pagination :: Codex de WordPress

Si además quieres cambiar la presentación de los artículos para esa categoría lo que tienes que hacer es cambiar la parte del loop/bucle de archive.php o del fichero que se encarga de mostrar las categorías en tu tema de wordpress:

<?php /*Start the loop */

  while ( have_posts() ) : the_post();
    /* Include the Post-Format-specific template for the content.
    * If you want to override this in a child theme, then include a file
    * called content-___.php (where ___ is the Post Format name) and that will be used instead.
    */

    if ( is_category('38') ) : ?>
      <div id="categoria38">
        <article id="post-<?php the_ID(); ?>"><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a> <a href="<?php the_permalink(); ?>" rel="bookmark">Leer+</a> <?php echo get_the_date(); ?>
      </div>

    <?php

    else :

      get_template_part( 'content', get_post_format() );

    endif;

  endwhile;

  // Previous/next page navigation.
  twentyfourteen_paging_nav();

Esta parte la dejo en su idioma original (Inglés) para aquellos que quieran saber donde hay que introducir el condicional que permite cambiar el formato con el que se muestran los artículos en el listado que crea archive.

Espero que os sea de utilidad.

Saludos.

Semana #4

Hola de nuevo:

Esta semana debo reconocer que he hecho lo posible por estar encima de los compromisos que había adquirido conmigo mismo. Aunque los escriba por aquí a quién más le rindo cuentas es a mi mismo.

Os cuento en que he avanzado y en que sigo como estaba. Antes de empezar decir que estoy contento con el balance general de la semana pues la llené de compromisos y se puede decir que el balance es bastante bueno, siempre hay trabajo por delante, por supuesto. No me enrollo más:

Literatura: Estoy en ello. Le he dado un primer repaso y ahora mismo ando leyéndolo para poder pasarlo lo antes posible al siguiente punto de la cadena. Esta semana he dejado de ver esta tarea como algo pesado. Ahora estoy disfrutándola.

Senderismo: Sigo domando las botas, esta semana he flaqueado un poco, tan sólo 45 kilómetros. Creo que el calor ha sido decisivo en este descenso. Ya estoy trabajando para descansar por la noche las horas adecuadas y poder salir temprano. El calor obliga a salir casi de madrugada a andar.

Fotografía: La foto al día sigue adelante y sí… lo he hecho… tengo un vídeo hecho a partir de muchas fotografías, en particular, de 1750 fotografías. Os dejo el resultado más abajo. Debo confesar que pensaba que iba a ser más fácil tomar las fotos pero que acabe con los hombros doloridos de mantener los brazos en la misma posición mientras subía y bajaba. He aprendido mucho acerca de como hacer este tipo de vídeos. Una de las cosas que se me queda grabada es que en cada foto debería aparecer un trozo de cielo… esto ayuda al procesado del vídeo en YouTube. Aún así, estoy muy contento con el resultado.

Divulgación: He organizado mis listas en Twitter y retomado mi Feedly.

Informática: Esta semana he aprendido a usar HootSuite, una herramienta de gestión de redes sociales. También me he animado, después de una reunión a través de Skype imposible, a instalarlo en mi equipo (Uso Linux Mint Debian Edition).

Comunicación: El objetivo de no perder presencia en redes ha sido casi cumplido.

Asociacionismo: He avanzado en el conocimiento sobre el funcionamiento de la tesorería teniendo la reunión que me había comprometido a tener.

vidaurbana

¿Compromisos para la semana que viene?

Literatura: Revisar, revisar, revisar… :D

Senderismo: Domar, domar, domar… Ya incluso camino mi vida como hiciera en el Camino.

Fotografía: Buscar inspiración cada día para lograr una foto al día que intente transmitir algo.

Divulgación: Seguir actualizado en Feedly y comenzar a escribir en mi blog, aunque no publique nada.

Informática: Abrir el curso de PHP y a saco con él.

mineria

Comunicación: Probar la efectividad de usar hootsuite. ¿Me facilita la vida o me la complica? Encontrar una forma de conseguir materiales interesantes y publicarlos. Hoy he pensado que Keep puede ser una herramienta útil para guardar enlaces que sean publicados en día distinto al actual.

Asociacionismo: Ponerme en contacto con algunos voluntarios de Ingeniería Sin Fronteras para empezar, de esta forma a llevar la gestión de socios.

Saludos.

PD: La semana pasada participé del proyecto de More Mero, #Meta_Meinstrim. :D

Semana #3

Hola:

La semana pasada escribí una serie de compromisos a los que no he podido atender todo lo que quisiera. Llevo varias semanas buscando lo que hay detrás de todo esto y creo que escribir una vez por semana sobre las iniciativas que atiendo está siendo una gran forma de aterrizar lo que está pasando.

Antes de empezar a escribir este artículo he clasificado los compromisos en habilidades:

Literatura: Revisar textos ayuda a aprender sobre su estructura. Creo que escribir es como montar en bicicleta. Nunca se olvida pero la práctica es lo que realmente hace que avances.

Senderismo: Desde antes de irme al Camino de Santiago el senderismo es algo que me llama la atención y lo considero un ejercicio físico muy completo. Esta semana pasada el compromiso para avanzar en esta afición era domar un poco más las botas. Creo que los más de sesenta kilómetros que les he hecho van haciendo mella. Poco a poco noto a mis pies más cómodos ahí dentro.

Fotografía: He avanzado alguna página del Langford. Al menos el primer capítulo está lleno de referencias a fotógrafos cuyo trabajo es para disfrutarlo un rato. He seguido haciendo fotos diarias. Y bueno, cubrí el suicidio homeopático al que la Asociación de Divulgación Científica de la Región de Murcia se sumo. Incluso hice un vídeo. Me falló el sonido, digamos que mientras se leía el manifiesto pasaron justo por detrás de mi algunos ruidos con ruedas, sí, motos. Aunque el formato que más a triunfado para este evento (yo creo que el adecuado) es la fotografía de móvil. Por su inmediatez, su rápida infiltración en redes, por ser mucho más personal y directa. Darle una vuelta con una cámara de fotos a este evento ha sido un reto.

calor

Divulgación: Si bien sigue pendiente el artículo del que te hablé, esta semana he estado moviendo un hashtag #NoSinEvidencias12J y me alegro de haber contribuido junto con mucha más gente, a que apareciera en la lista de Trending Topic. Me lo pase bien interaccionando con gente en twitter. Creo que le estoy cogiendo el truco a esta red social.

Informática: Esta semana ha sido la gran olvidada. Espero contarte algo distinto la semana que viene.

“Asín que” los compromisos para esta semana son:

Literatura: Avanzar en la revisión del texto para su procesado por otras tres personas.

Senderismo: Domar las botas.

Fotografía: Una foto al día. Probar a realizar un vídeo tomando como origen una serie de fotografías.

Divulgación: Publicar un artículo en Un Cacho de Ciencia.

Informática: Echarle azúcar al tema y sumergirme en el curso de PHP.

homeopatia

Comunicación: Compartir, al menos, tres contenidos en las redes sociales de ISF Murcia, Delegación de Entreculturas en Murcia, Coordinadora de Organizaciones No Gubernamentales para el Desarrollo, Un cacho de ciencia (mi web de ciencia) y nesimo.net (mi blog personal).

Asociacionismo: Resolver mis dudas sobre la gestión de la tesorería.

Saludos.

Semana #2

buenosdias

La semana pasada me la tomé de vacaciones antes de afrontar nuevos proyectos. El martes me di cuenta de que necesitaba echar el freno para tomar energía y respirar antes de decidir para donde tirar. Así que paré las rotativas y descansé. Esta semana promete productiva. Tengo por delante:

– La revisión de estilo y gramática de un texto que verá la luz en diciembre

– El curso de PHP profesional

– Seguir domando unas botas de montaña que me compré hace un mes

– Avanzar en la lectura de Fotografía básica de Langford (estoy descubriendo a muchos fotógrafos, algunos me dejan la carne de gallina con sus trabajos)

– Publicar un artículo propio con foto de una compañera incluida en Un cacho de ciencia

– Seguir con el proyecto de una foto al día

langford

Me pongo ya mismo manos a la obra. Nos leemos.

PD: La semana pasada descubrí una herramienta para contabilizar tiempos que me está ayudando a arrojar luz sobre mis compromisos. Se llama toggl.com y, al parecer, para uso personal es gratuita. No sé si la usaré mucho tiempo pero de momento me gusta ver el tiempo que invierto en cada tarea. Me ayuda a centrarme en una tarea en cada momento y, de esta manera, poder avanzar o tener la grata sensación de hacerlo. Ya os contaré con alguna gráfica cuando le de más caña.

Semana #1

organizacionyo

En el ámbito informático el jueves pasado terminé el curso de PHP “malo” y ahora tengo en mi poder un diploma más. Próximo paso. Darle caña al curso de PHP “bueno” que para eso lo estoy pagando :D.

aniversarioADCMurcia

En el ámbito fotográfico estuve con la publicidad de un álbum muy especial: el del aniversario de ADCMurcia. Trabajé duro para ese evento llegando, en un momento, a ser el enlace de la organización con los ponentes. Estoy contento porque toda la junta arrimo el hombro y al final conseguimos tener un evento que, al menos en mi mente, quedará grabado con fuego. Y sí, extrañamente, sigo aportando una fotografía casual (de algo que me encuentro en mi día a día) a ese proyecto que es el tercer año que abordo. Estoy alcanzando el número de fotos de 2012. Me alegro de notar una evolución desde esos primeros proyectos.

uncachodeciencia

En la parte divulgativa subí una de las experiencias de Paco a un cacho de ciencia. Al parecer ya nos usan como fuente para algunas experiencias en El Hormiguero. Eso sí, ellos nunca citan sus fuentes :D.

Blog de Miguel Manzano