✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Paginación de tipo de publicación personalizada de WordPress

17

En términos generales, cada vez que trabajo con paginación de tipo de publicación personalizada, lo hago escribiendo una consulta personalizada usando WP_Query y luego llamando a wp_reset_postdata() al final de The Loop.

Sigo pensando que esto tiene su lugar, pero hay una solución más simple que puede implementar utilizando un gancho específico que proporciona WordPress.

Específicamente, estoy hablando del gancho pre_get_posts. En la referencia del código, puede ver que esto se define como:

Se activa después de que se crea el objeto de la variable de consulta, pero antes de que se ejecute la consulta real.

Y dado que la consulta contiene mucha información, podemos continuar y usarla para determinar si queremos modificar los argumentos necesarios para lidiar con la paginación.

Con esto, quiero decir que debemos observar la propiedad post_type y el valor posts_per_page. Para ello, puedes implementarlo de la siguiente manera :

<?php

use WP_Query;

add_action('pre_get_posts', __NAMESPACE__. 'customPostTypePagination');
/**
 * If we're on the 'acme-post-type' page, then adjusts pagination so there are only two posts per page. This will 
 * affect pagination so we can use built-in pagination links to easily page through the content.
 *
 * @param WP_Query the instance of the query object that contains information to populate the template.
 *
 * @return WP_Query an unmodified version of the query object or a modified version if we're on the acme post-type.
 */
function customPostTypePagination(WP_Query $query)
{
  if (isset($query->query['post_type']) && 'acme-post-type' == $query->query['post_type']) {
    $query->set('posts_per_page', 2);
  }
}

El código anterior no está orientado a objetos (si lo fuera, configuraría un suscriptor y una clase responsable de manejar la lógica en la función), pero puede ver cómo configurarlo en su forma más básica.

Entonces, si está trabajando con paginación de tipo de publicación personalizada y no desea lidiar con los diversos aspectos de la configuración de una consulta personalizada, esto puede resolver su problema.

Fuente de grabación: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More