Problema con paginador de plantilla de WordPress

  • Autor Autor eswal200
  • Fecha de inicio Fecha de inicio
eswal200

eswal200

Préstamo
Zeta
Verificación en dos pasos activada
Verificado por Whatsapp
Hola gente, estoy terminndo una plantilla de wordpress pero el pagina de de post no funciona, bueno solo en parte

por ejemplo:

estoy es en index, se muestran 10 articulo.

doy click al boton del paginador y me dirige a la pagina : /page/2 - Todo normal, perooo los articulos son los mismo que en la painagina inicial no importa si estoy en /page/2 /page/3 /page/4

se muestran las mismas 10 entradas en todas.

aqui les paso el codigo del index:

Insertar CODE, HTML o PHP:
<?php get_header(); ?>

<div class="background-image">

	<div class="row sp">
		
		<div class="blog" style="margin-left: 15px;">

<?php if(is_search()){?>
<h2 class="titulos">Resultado de búsqueda</h2>
<?php }else if(is_tag()){?>
<h2 class="titulos">Canciones disponibles para: <?php echo single_tag_title(); ?> </h2>
<?php }else{ ?>
<h2 class="titulos">Escuchando ahora</h2>
							
		

<h2 class="titulos">Añadidas recientemente</h2>		
		
<?php if (strpos($_SERVER['REQUEST_URI'], 'page') === false ){ ?>
				


<?php } ?>
			

<?php } ?>
			
			<div class="clearfix"></div>
<div class="blog">

				<ul class="ul_relacionados sp">
					<?php
					$tags = wp_get_post_tags($post->ID);
					if ($tags) {
					$first_tag = $tags[0]->term_id;
					$args=array(
					'categori__in' => array($first_categori),
					'post__not_in' => array($post->ID),
					'posts_per_page'=>2,
					'caller_get_posts'=>0,

					);
					$my_query = new WP_Query($args);
					if( $my_query->have_posts() ) {
					while ($my_query->have_posts()) : $my_query->the_post(); ?>
<table style="border-top: 1px solid #202020;">
   <tr>
       <td style="width: 6%;"><a href="<?php the_permalink() ?>"><?php the_post_thumbnail(); ?></a></td>
	  
	   <td style="width: 40%;"><a href="<?php the_permalink() ?>"><p style="margin: 0;"><?php the_title(); ?></p><p style="margin: 0;color: #6d6d6d;font-size: 14px;"><?php echo get_artistas_tag($post->ID); ?></p></td>
		   <td class="time"><div  class="fa fa-clock"></div><?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . ' ago'; ?> </td>
       <td class="artist"><div class="fa fa-play-circle"></div>   <?php echo do_shortcode('[views]'); ?> Tocadas</td>

	   <td style="text-align: left;width: 25%;">	            <a href="<?php echo get_field( 'mp3' ) ?>" class="play-descargar1">
	            	<div class="control-descarga1">
						<p>Descargar</p>
	            	</div>
	            	
	            	</a></td>
   </tr>
	
</table>

						
						
					<?php
					endwhile;
					}
					wp_reset_query();
					}
					?>
				</ul>
				<nav>
					<ul class="pager">
						<li><?php next_posts_link( 'Siguiente' ); ?></li>
						<li><?php previous_posts_link( 'Anterior' ); ?></li>
					</ul>


				</nav>

		</div>	<!-- /.blog-main -->
	</div> 	<!-- /.row -->

	</div>
<div class="scrollbar">
    <div class="uno">
	<div>

<p>Este sitio, rápidamente se ha convertido en uno de los preferidos de muchos usuarios para descargar musica gratis.</p>	
</div>	
			
</div></div>
</div>


<link href="<?php echo get_template_directory_uri(); ?>/player/player.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript">
var songUrl = "<?php echo get_field( 'mp3' ) ?>";
var songTitle = '<?php the_title(); ?>';
</script>
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/player/player.js"></script>
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/jquery-3.2.1.min.js"></script>


<?php get_footer(); ?>

que hay de malo es este codigo ?
 
Hola gente, estoy terminndo una plantilla de wordpress pero el pagina de de post no funciona, bueno solo en parte

por ejemplo:

estoy es en index, se muestran 10 articulo.

doy click al boton del paginador y me dirige a la pagina : /page/2 - Todo normal, perooo los articulos son los mismo que en la painagina inicial no importa si estoy en /page/2 /page/3 /page/4

se muestran las mismas 10 entradas en todas.

aqui les paso el codigo del index:

Insertar CODE, HTML o PHP:
<?php get_header(); ?>

<div class="background-image">

    <div class="row sp">
       
        <div class="blog" style="margin-left: 15px;">

<?php if(is_search()){?>
<h2 class="titulos">Resultado de búsqueda</h2>
<?php }else if(is_tag()){?>
<h2 class="titulos">Canciones disponibles para: <?php echo single_tag_title(); ?> </h2>
<?php }else{ ?>
<h2 class="titulos">Escuchando ahora</h2>
                           
       

<h2 class="titulos">Añadidas recientemente</h2>       
       
<?php if (strpos($_SERVER['REQUEST_URI'], 'page') === false ){ ?>
               


<?php } ?>
           

<?php } ?>
           
            <div class="clearfix"></div>
<div class="blog">

                <ul class="ul_relacionados sp">
                    <?php
                    $tags = wp_get_post_tags($post->ID);
                    if ($tags) {
                    $first_tag = $tags[0]->term_id;
                    $args=array(
                    'categori__in' => array($first_categori),
                    'post__not_in' => array($post->ID),
                    'posts_per_page'=>2,
                    'caller_get_posts'=>0,

                    );
                    $my_query = new WP_Query($args);
                    if( $my_query->have_posts() ) {
                    while ($my_query->have_posts()) : $my_query->the_post(); ?>
<table style="border-top: 1px solid #202020;">
   <tr>
       <td style="width: 6%;"><a href="<?php the_permalink() ?>"><?php the_post_thumbnail(); ?></a></td>
     
       <td style="width: 40%;"><a href="<?php the_permalink() ?>"><p style="margin: 0;"><?php the_title(); ?></p><p style="margin: 0;color: #6d6d6d;font-size: 14px;"><?php echo get_artistas_tag($post->ID); ?></p></td>
           <td class="time"><div  class="fa fa-clock"></div><?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . ' ago'; ?> </td>
       <td class="artist"><div class="fa fa-play-circle"></div>   <?php echo do_shortcode('[views]'); ?> Tocadas</td>

       <td style="text-align: left;width: 25%;">                <a href="<?php echo get_field( 'mp3' ) ?>" class="play-descargar1">
                    <div class="control-descarga1">
                        <p>Descargar</p>
                    </div>
                   
                    </a></td>
   </tr>
   
</table>

                       
                       
                    <?php
                    endwhile;
                    }
                    wp_reset_query();
                    }
                    ?>
                </ul>
                <nav>
                    <ul class="pager">
                        <li><?php next_posts_link( 'Siguiente' ); ?></li>
                        <li><?php previous_posts_link( 'Anterior' ); ?></li>
                    </ul>


                </nav>

        </div>    <!-- /.blog-main -->
    </div>     <!-- /.row -->

    </div>
<div class="scrollbar">
    <div class="uno">
    <div>

<p>Este sitio, rápidamente se ha convertido en uno de los preferidos de muchos usuarios para descargar musica gratis.</p>   
</div>   
           
</div></div>
</div>


<link href="<?php echo get_template_directory_uri(); ?>/player/player.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript">
var songUrl = "<?php echo get_field( 'mp3' ) ?>";
var songTitle = '<?php the_title(); ?>';
</script>
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/player/player.js"></script>
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/jquery-3.2.1.min.js"></script>


<?php get_footer(); ?>

que hay de malo es este codigo ?
Hola eswal200, parece que el problema se debe a la forma en que estás construyendo tu consulta para mostrar los posts en el paginador. Actualmente, estás utilizando WP_Query sin especificar un argumento clave: paged, que es fundamental para la paginación en WordPress.

Para solucionar el problema, debes modificar el código en la sección donde creas tu consulta. Añade el argumento paged para que WordPress sepa en qué página está. Aquí tienes un ejemplo de cómo podrías hacerlo:

PHP:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

$args = array(
    'category__in' => array($first_categori),
    'post__not_in' => array($post->ID),
    'posts_per_page' => 2,
    'paged' => $paged, // Añade esto
);

$my_query = new WP_Query($args);

También debes ajustar tus etiquetas de navegación para que funcionen correctamente con la paginación. Podrías reemplazar el bloque de paginación actual con este:

PHP:
<nav>
    <?php
    echo paginate_links(array(
        'total' => $my_query->max_num_pages,
    ));
    ?>
</nav>

Después de realizar estos cambios, asegúrate de que no haya otras partes de tu plantilla que estén interfiriendo con la consulta principal.

Recuerda siempre usar wp_reset_postdata() después de un WP_Query para restablecer la consulta a la principal.

Espero que esto te ayude a resolver el problema con la paginación de tu plantilla de WordPress. ¡Suerte!
 
Atrás
Arriba