WordPress no muestra más de 10 publicaciones

3 minutos de lectura

avatar de usuario
mian-ji

Estoy mostrando publicaciones por shortcode en publicaciones/páginas de WordPress, y quiero mostrar una lista infinita de publicaciones, pero solo muestra 10 publicaciones.

Aquí está mi código; por favor orienteme que es lo que esta mal con mi consulta.

$args = array( 'post_type' => 'post', 'cat' => '2', 'meta_key' => 'issue_of_article', 'meta_value' => $issue, 'posts_per_page' => -1, 'orderby' => 'artcle_category', 'order' => 'ASC');
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) {
while ( $loop->have_posts() ) : $loop->the_post();
     $loop->the_post();
     <h3><a href="https://stackoverflow.com/questions/21231683/<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
endwhile;
}

avatar de usuario
Jenish Mandalia

Solo agrega esto en tu argumento

'posts_per_page' => -1

entonces ya está.

Una cosa más: puede cambiar la configuración predeterminada de administrador a algo que no sea 10. Vaya al administrador de WordPress – Configuración – Lectura. Hay una opción como “Las páginas de blog se muestran como máximo”. Escriba allí el número de publicaciones que desea como predeterminado.

  • Esto ya se agregó en la matriz de argumentos, no puedo cambiar la configuración de lectura porque afectará a todo el sistema, mientras que solo quiero cambiar este código. Gracias

    – mian ji

    20 de enero de 2014 a las 12:16

  • Lo verifiqué eliminando “meta_key” y “meta_value”, luego “posts_per_page” funciona, si incluyo estos parámetros, “posts_per_page” no funciona, mientras que he comprobado que las publicaciones del panel de administración son más de 10.

    – mian ji

    20 de enero de 2014 a las 12:55

  • Una cosa que hay que recordar es que debe venir antes meta_query si está buscando una publicación por valores meta.

    – KTM

    26 de julio de 2020 a las 14:55


Ir al menú de configuración en la página de administración

Ajustes -> Lectura Cambiar el valor de Las páginas de blog se muestran como máximo.

Funcionará.

  • No puedo cambiar la configuración de lectura porque afectará a todo el sistema, mientras que quiero cambiar solo este código. Gracias

    – mian ji

    20 de enero de 2014 a las 12:25

Tal vez sea una pregunta estúpida, pero ¿por qué llamas a $loop->the_post(); dos veces ? ¿No es el origen del problema? (cada bucle llama a 2 publicaciones a la vez)

Puedes decidir cuántas publicaciones mostrar en el bucle:

<?php wp_reset_query(); ?>
<?php  

    $loop = new WP_Query(
        array(
            'post_type'      => 'resource',
            'order_by'       => 'post_id',
            'order'          => 'ASC',
            'post_status'    => 'publish',
            'posts_per_page' => 100
        )                    
    );

?>

<?php while ($loop -> have_posts()): $loop -> the_post(); ?>

    <h1><?php the_title(); ?></h1>
    <p><?php the_content(); ?></p>

<?php endwhile; ?>

avatar de usuario
rana

'posts_per_page' => -1

o

'posts_per_page' => 1000

Ambos deberían funcionar.

  • Una cosa que hay que recordar es que debe venir antes meta_query si está buscando una publicación por valores meta.

    – KTM

    26 de julio de 2020 a las 14:54

  1. Al principio: publique preguntas de WP en WordPress.Stackexchange.com

  2. La buena manera es agregar functions.php:

    add_action(‘pre_get_posts’,’myfunc’); function myfunc($consulta){ if ($consulta->es_principal_consulta() && $consulta->es_archivo){ $consulta->set( ‘publicaciones_por_página’, 1000); } devuelve $consulta; }

  • Una cosa que hay que recordar es que debe venir antes meta_query si está buscando una publicación por valores meta.

    – KTM

    26 de julio de 2020 a las 14:54

¿Ha sido útil esta solución?