Establecer límites de publicación y contenido para las páginas de inicio, blog y archivo

Publicado: 2013-08-15

En este tutorial, veremos la configuración integrada de Génesis que puede usar para controlar los límites de contenido en sus archivos y plantilla de página de blog.

También tendremos en cuenta la configuración de lectura de WordPress y cómo afectan la configuración de Génesis.

Además de esto, también veremos algunos fragmentos de código de trabajo que puede usar para personalizar aún más su:

  1. Página de blog
  2. Archivo
  3. página de inicio
  4. Bucle de rejilla
  5. Tipos de publicaciones personalizadas

Usaremos el nuevo tema secundario Eleven40 Pro de StudioPress, así como el tema secundario Genesis 2.0 Sample, que no incluye ningún bucle de cuadrícula ni widgets de página de inicio listos para usar.

El tema Eleven40 Pro junto con varios otros temas de StudioPress como el tema Balance incluyen un bucle de cuadrícula personalizado en el archivo home.php.

Configuración de lectura en WordPress

En primer lugar, echemos un vistazo a la configuración existente que proporciona WordPress en la configuración de lectura. Esta configuración afectará la cantidad de publicaciones que se muestran en todas sus páginas de archivo, incluidas:

  • Página de listas de blogs
  • Archivar páginas , incluidas páginas de autor, blog, categoría, búsqueda y etiquetas

configuración de lectura wp

La configuración de lectura determina cuántas publicaciones se muestran en todas sus páginas de archivos y en la página de inicio si se dejan en la configuración predeterminada como se ve en la captura de pantalla anterior.

La Configuración de lectura NO controla la página de su blog, ya que está controlada por la configuración de Plantilla de página de blog que Génesis incluye en Génesis > Configuración de tema:

plantilla de página de blog de génesis

Veamos un ejemplo de esto: si su configuración de lectura está configurada para mostrar 5 publicaciones, su página de inicio y todos los archivos mostrarán 5 publicaciones, sin embargo, su página de blog mostrará lo que haya configurado para mostrar.

Aunque la configuración de lectura puede establecerse en: Las páginas de blog muestran un máximo de 5, esto solo se aplica a la página de inicio y NO cuando se usa una página personalizada estática con la plantilla de página de blog para su página de blog personalizada.

Estas configuraciones están controladas por la configuración de la plantilla de la página del blog de génesis, como se muestra en la captura de pantalla anterior.

Personalización del límite de publicación predeterminado de la página de inicio

Si desea que sus archivos muestren el número establecido en la Configuración de lectura pero muestren una cantidad diferente de publicaciones en su página de inicio, deberá usar un código personalizado en el archivo functions.php de sus temas secundarios:

 add_action( 'pre_get_posts', 'change_posts_number_home_page' ); function change_posts_number_home_page( $query ) { if ($query->is_home() &amp;&amp; $query->is_main_query() ) { $query->set( 'posts_per_page', 5 ); <pre><code>return $query; } </code></pre> }

El código anterior no afectará la cantidad de publicaciones que se muestran en sus archivos.

Cambiar el número de publicaciones que se muestran en los archivos

También puede usar este código para cambiar la cantidad de publicaciones que se muestran en diferentes archivos, como páginas de archivo de categoría y autor, sin afectar la configuración de lectura que controla a los demás:

 add_action( 'pre_get_posts', 'change_number_posts_per_category' ); function change_number_posts_per_category( $query ) { <pre><code>if ( is_category('29') ) { $query-&gt;set( 'posts_per_page', 1 ); return $query; </code></pre> }}

Personalización del límite de publicación de Grid Loop en la página de inicio

Si su tema incluye un bucle de cuadrícula en el archivo home.php, simplemente puede controlar cuántas publicaciones destacadas de ancho completo y cuántas publicaciones de bucle de cuadrícula se muestran en su página de inicio.

Además de esto, también puede controlar el límite de contenido tanto para las publicaciones destacadas como para las publicaciones que se muestran en la cuadrícula solo en la página de inicio, ya que el código está incluido en el archivo home.php.

Todas las configuraciones están en el código de bucle de cuadrícula del archivo home.php:

 &lt;?php remove_action( 'genesis_loop', 'genesis_do_loop' ); add_action( 'genesis_loop', 'eleven40_grid_loop_helper' ); /** Add support for Genesis Grid Loop */ function eleven40_grid_loop_helper() { <pre><code>if ( function_exists( 'genesis_grid_loop' ) ) { genesis_grid_loop( array( 'features' =&gt; 1, 'feature_image_size' =&gt; 0, 'feature_image_class' =&gt; 'alignleft post-image', 'feature_content_limit' =&gt; 0, 'grid_image_size' =&gt; 'grid-featured', 'grid_image_class' =&gt; 'grid-featured', 'grid_content_limit' =&gt; 250, 'more' =&gt; __( '[Continue reading]', 'eleven40' ), 'posts_per_page' =&gt; 5, ) ); } else { genesis_standard_loop(); } </code></pre> } genesis();

El código PHP anterior está configurado para mostrar 5 publicaciones. Comenzando con una publicación destacada que muestra el ancho completo del contenido y el límite de contenido ilimitado como está configurado en 0, por lo que muestra el contenido completo de la publicación de la primera publicación.

Luego muestra 4 publicaciones en una cuadrícula con cada conjunto en un límite de contenido de 250 con una imagen destacada si ha cargado una para cada publicación y la ha configurado como una imagen destacada.

Esta configuración se sobrescribe con la configuración de lectura, lo que significa que si su configuración de lectura está configurada para mostrar 20 publicaciones, eso es lo que mostrará su página de inicio independientemente de la configuración en el ciclo de cuadrícula anterior.

Para personalizar esto, puede usar este código PHP a continuación en su archivo child themes functions.php para sobrescribir su configuración de lectura para su bucle de cuadrícula y, por lo tanto, use la configuración de lecturas para controlar cuántas publicaciones se muestran en todas sus páginas de archivo.

Cambiar el límite de publicaciones de Grid Loop

 add_action( 'pre_get_posts', 'change_num_posts_in_grid' ); function change_num_posts_in_grid( $query ) { global $wp_the_query; if( $query->is_main_query() &amp;&amp; is_home() ) { $query->set( 'posts_per_page', '5' ); } }

El código anterior también se puede modificar para que funcione en cualquier otra página usando el bucle de cuadrícula simplemente cambiando la etiqueta condicional en el código de is_home() a otra cosa.

Subpáginas de la página de inicio

Si también desea controlar la cantidad de publicaciones que se muestran en las subpáginas para la cuadrícula o los extractos estándar, puede usar un código como este:

 add_action( 'pre_get_posts', 'change_num_posts_in_grid' ); function change_num_posts_in_grid( $query ) { global $wp_the_query; if( $query->is_main_query() &amp;&amp; is_home() &amp;&amp; is_paged() ) { $query->set( 'posts_per_page', '5' ); } }
Nota : si su página de inicio utiliza una cuadrícula, estos archivos de subpágina también se mostrarán en una cuadrícula.

Obtenga más información sobre el uso de Genesis Grid Loop para diferentes diseños de postes de inicio.

Cambiar el límite de contenido para una categoría específica

También puede sobrescribir la configuración de lectura de WordPress y personalizar el límite de extractos en cualquier archivo, incluidos los archivos de su página de inicio, autor, blog, categoría, búsqueda y etiqueta.

 add_filter('excerpt_length', 'specific_category_excerpt_length'); function specific_category_excerpt_length($length) { if(is_category('29') ) { return 20; } }

El código anterior cambiará la longitud del extracto en la página de categoría con una identificación de 29 a un límite de 20 palabras.

Nota: El código anterior solo funciona cuando ha configurado Génesis > Configuración del tema > Archivos de contenido > Mostrar extractos de publicaciones y no funcionará si usa la configuración Mostrar contenido de publicaciones.

archivos de contenido - mostrar extractos de publicaciones

También puede volver a agregar etiquetas de formato HTML eliminadas de extractos por WordPress.

Además de esto, puede usar este código a continuación para controlar el límite de contenido de extractos en archivos específicos y luego también configurar otros para mostrar un límite establecido. Nota: Su Génesis > Configuración del tema > Archivos de contenido debe configurarse para mostrar Extractos y no Límite de contenido.

 add_filter('excerpt_length', 'specific_category_excerpt_length'); function specific_category_excerpt_length($length) { if(in_category('web-design') ) { return 20; } else { return 500; } }

El código anterior muestra un límite de contenido para extractos en la categoría de diseño web de 20 y todos los demás archivos muestran un límite de 500.

Aquí hay un código PHP que incluye una variedad de múltiples categorías:

 add_filter('excerpt_length', 'specific_category_excerpt_length'); function specific_category_excerpt_length($length) { if(in_category(array( 153,154,156 ) ) ) { return 100; } else { return 300; } }

Este código utiliza los identificadores de categoría y muestra un límite de contenido de 100 para 3 categorías. Todos los demás archivos muestran un límite de 300.

Obtenga más información sobre cómo personalizar extractos.

Tipo de publicación personalizada (CPT)

Aquí está el código que determina cuántas publicaciones en un tipo de publicación personalizada se muestran en la página de archivo de CPT:

 add_action( 'pre_get_posts', 'cpt_archive_items_limit' ); function cpt_archive_items_limit( $query ) { <pre><code>if( $query-&gt;is_main_query() &amp;&amp; !is_admin() &amp;&amp; is_post_type_archive( 'your-cpt' ) ) { $query-&gt;set( 'posts_per_page', '3' ); } </code></pre> }

Simplemente reemplace your-cpt en el código anterior con el nombre de su tipo de publicación personalizada.

Conclusión

Puede ver por sí mismo que el uso de ganchos y filtros de WordPress también funciona perfectamente en Génesis.

Soluciones similares

  • Configuración para mostrar extractos de entrada en cualquier plantilla de página de archivo
  • Código para establecer el límite de archivo de contenido de Génesis
  • Mostrar contenido completo de la publicación o extractos en páginas de archivo específicas
  • Personalice las páginas de archivo condicionalmente usando publicaciones previas a la obtención
  • Mostrar extractos en la página del blog y contenido completo en otros archivos en Génesis