Aumentar número de posts en la página de archivo

22 jul 2014, 15:31:18
Vistas: 19K
Votos: 13

Actualmente mi página de archivo del sitio web muestra 5 posts por página. Necesito configurarla para que muestre 100 posts por página.

(Mi página principal muestra 5 posts por página y no quiero cambiarlo)

Aquí está mi archive.php

    <?php get_header(); ?>
    <?php do_atomic( 'before_content' ); // my-life_before_content ?>

    <div id="content">
    <?php if (have_posts()) : ?>

      <?php $post = $posts[0]; // Hack. Configura $post para que the_date() funcione. ?>
      <?php /* Si es un archivo de categoría */ if (is_category()) { ?>
        <h2>Archivo para la categoría &#8216;<?php single_cat_title(); ?>&#8217;</h2>
      <?php /* Si es un archivo de etiqueta */ } elseif( is_tag() ) { ?>
        <h2>Posts etiquetados &#8216;<?php single_tag_title(); ?>&#8217;</h2>
      <?php /* Si es un archivo diario */ } elseif (is_day()) { ?>
        <h2>Archivo para <?php the_time('F jS, Y'); ?></h2>
      <?php /* Si es un archivo mensual */ } elseif (is_month()) { ?>
        <h2>Archivo para <?php the_time('F, Y'); ?></h2>
      <?php /* Si es un archivo anual */ } elseif (is_year()) { ?>
        <h2>Archivo para <?php the_time('Y'); ?></h2>
      <?php /* Si es un archivo de autor */ } elseif (is_author()) { ?>
        <h2>Archivo del autor</h2>
      <?php /* Si es un archivo paginado */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
        <h2>Archivos del blog</h2>
      <?php } ?>

        <?php if ( is_paged() || count($posts) >= get_option('posts_per_page') ) : ?>
            <div class="post_meta archive_pagination">

                <div class="left"><?php next_posts_link('&laquo; Entradas antiguas') ?></div>
                <div class="right"><?php previous_posts_link('Entradas nuevas &raquo;') ?></div>

                <div class="clearer">&nbsp;</div>

            </div>

        <?php else : ?>
        <div class="content_separator"></div>

        <?php endif;?>      

        <?php while (have_posts()) : the_post(); ?>

        <div class="archive_post">

            <div class="archive_post_date">
                <div class="archive_post_day"><?php the_time('j') ?></div>
                <div class="archive_post_month"><?php echo strtoupper(get_the_time('M')); ?></div>
            </div>

            <div class="archive_post_title">
                <h3 id="post-<?php the_ID(); ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Enlace permanente a <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
                <div class="post_date">Publicado en: <div class="freetory"><?php the_category(', ') ?></div> |<div class="freetory"><?php the_tags(' '); ?></div></div>
            </div>

            <div class="clearer">&nbsp;</div>

        </div>

        <?php endwhile; ?>

        <?php if ( is_paged() || count($posts) >= get_option('posts_per_page') ) : ?>

            <div class="post_meta archive_pagination">

                <div class="left"><?php next_posts_link('&laquo; Entradas antiguas') ?></div>
                <div class="right"><?php previous_posts_link('Entradas nuevas &raquo;') ?></div>

                <div class="clearer">&nbsp;</div>

            </div>

        <?php endif;?>

    <?php else : ?>     
        <p>No se encontraron posts.</p>

    <?php endif; ?>
    <?php do_atomic( 'close_content' ); // my-life_close_content ?>

        <?php get_template_part( 'loop-nav' ); // Carga la plantilla loop-nav.php. ?>

    </div><!-- #content -->

    <?php do_atomic( 'after_content' ); // my-life_after_content ?>

<?php get_footer(); // Carga la plantilla footer.php. ?>

He creado la página de archivo usando dos temas "Omega" + Quietude

6
Comentarios

do_atomic() no es una función del núcleo de WP, sino específica de un tema o plugin. Por favor, pregunta en su canal de soporte cómo lograr eso.

kaiser kaiser
22 jul 2014 15:38:53

@kaiser ..no es un archivo de tema.. pero lo copié y pegué de otro sitio (la razón es "solo quiero mostrar el título del post, no el post completo en la página de archivo")..

new dev new dev
22 jul 2014 16:19:39

"lo copié/pegué de otro sitio" ... genial. no. Todo contenido tiene una licencia. Por favor, búscalo, haz una [edición] y añade un enlace a la fuente y menciona su licencia. Debes respetar el trabajo y la propiedad intelectual de otras personas. Por ejemplo: Todo el código en este sitio tiene licencia CC-BY-SA 3.0 (ver el pie de página).

kaiser kaiser
22 jul 2014 16:23:21

fuente añadida....

new dev new dev
22 jul 2014 16:44:05

Por favor no publiques agradecimientos como respuesta. Por favor acepta la respuesta de Brad haciendo clic en la marca de verificación junto a su respuesta.

Pieter Goosen Pieter Goosen
23 jul 2014 12:52:35

Por favor sé considerado y ayuda a mantener este sitio constructivo. La respuesta de @BradDalton resolvió tu problema. Deberías considerar aceptar su respuesta haciendo clic en la marca de verificación junto a su respuesta. Esto no solo te ayudará a ti, sino a todos los que encuentren la respuesta de Brad. Gracias por entender :-)

Pieter Goosen Pieter Goosen
24 jul 2014 10:37:58
Mostrar los 1 comentarios restantes
Todas las respuestas a la pregunta 2
3
35

Puedes usar pre_get_posts en tu archivo de funciones para modificar la consulta

function wpsites_query( $query ) {
if ( $query->is_archive() && $query->is_main_query() && !is_admin() ) {
        $query->set( 'posts_per_page', 100 );
    }
}
add_action( 'pre_get_posts', 'wpsites_query' );
22 jul 2014 17:04:44
Comentarios

Jaja, un placer, te di upvote. Sigue siendo la mejor solución

Pieter Goosen Pieter Goosen
22 jul 2014 17:50:08

Esta es la mejor solución.

Amir5000 Amir5000
5 abr 2018 02:21:10

¡Esto funciona de maravilla! Gracias Brad.

Suraj Lulla Suraj Lulla
26 abr 2022 10:16:09
0

Lo más fácil de hacer, en lugar de editar los archivos del tema (y si eres nuevo en WordPress), es usar un plugin como Custom Post Limits « WordPress Plugins.

Puedes cambiar los límites de publicaciones para cualquier parámetro: publicaciones de la página de inicio, resultados de búsqueda, resultados de archivo, categorías, autores, etc. Es un plugin ligero y muy versátil.

(Y crea un tema hijo si estás editando los archivos del tema: Child Themes « WordPress Codex)

22 jul 2014 17:35:07