如何在我的index.php中使用多个Pages_Links()?

时间:2019-02-20 作者:N3mo

我创建了两个div,用于显示来自两个不同类别的帖子。paginate\\u links()函数仅适用于第一个div,不适用于第二个div。

我试着回答“Boone Grages”:Multiple WP_Query loops with Pagination

这是我的代码:

<div>
<?php
      $paged1= isset($_GET[\'paged1\'])?(int)$_GET[\'paged1\']:1;
      $paged2= isset($_GET[\'paged2\'])?(int)$_GET[\'paged2\']:1;
      $newsposts=new WP_Query(array(
        \'post_type\'=>\'post\',
        \'category_name\'=>\'news\',
        \'paged\'=>$paged1,
        \'posts_per_page\'=>3
      ));


          while($newsposts->have_posts())
          {
            $newsposts->the_post();
    ?>
    //some html code
      <?php } 
        $pag_args1= array(
          \'format\'  => \'?paged1=%#%\',
          \'current\' => $paged1,
          \'total\' => $newsposts->max_num_pages,
          \'add_args\' => array( \'paged2\' => $paged2 )
      );
      echo paginate_links( $pag_args1 );



       ?>

  </div>


//second div
<div>

    <?php

      $eventsposts= new WP_Query(array(
        \'post_type\'=>\'post\',
        \'category_name\'=>\'events\',
        \'paged\'=>$paged2,
        \'post_per_page\'=>3
      ));


          while($eventsposts->have_posts())
          {
            $eventsposts->the_post();
    ?>
//some html code
      <?php } 
        $pag_args2 = array(
          \'format\'  => \'?paged2=%#%\',
          \'current\' => $paged2,
          \'total\'   => $eventsposts->max_num_pages,
          \'add_args\' => array( \'paged1\' => $paged1 )
      );

      echo paginate_links( $pag_args2 );


      ?>
  </div>
将显示链接并仅对第一个div有效;第二个div甚至不显示其链接。

单击第一个div的下一页时的URL如下所示:http://localhost/wordpress/?paged1=2&paged2=1

我尝试更改paged2=2。。这也行不通。

谢谢你的帮助。

1 个回复
最合适的回答,由SO网友:N3mo 整理而成

经过一周的困顿,找到了解决办法。我不得不为我的$eventposts和$newsposts添加一个额外的参数“showposts”。

相关推荐