!
也想出现在这里? 联系我们
广告位

WordPress网站实现query_posts查询万能分页代码

WordPress 网站 query_posts 是用于从网站按照条件查询得到需要的结果。query_posts()查询函数决定了哪些文章出现在 WordPress 主 循环(loop)中v W F ? j # f,正因为如此,query_posts 函数仅用于修改主页循环(Loop),而不是在页面上生成次级循环。

如果你希望] } M 0 H F P在主循环外另外生 成循环,应该新建独立的 WP_Query 对象,用这些对象生成循环。在主循环外的循环上使用 query_posts 会导致主循环运` % ? X行偏差,并可能在页面n 4 N H U | % 8 E上 显示出你不希望看到的内容。当我们使用 query_posts 查询得到的结果很多的情况下就需要进行分页。实现 query_posts 查询结果分页的代码如下:

  1. <?php
  2. //分页
  3. $paged = $_GET['paged'] ? $_GET['pagedb V i' y s 3 ! s R V3; : 1;
  4. //常规排序方法
  5. $args=array(
  6. 'post_type' => 'post',
  7. 'post_status'=U l H i>'publish',
  8. 'cat' => $cat, // 分类ID
  9. 'meta_ke6 | z F ^ l f e -y' => 'paixu',
  10. 'orderby' =&gtB } p ~ n ? k C; 'meta_value_num',
  11. 'order' => 'ASC',
  12. 'paged' => $paged,
  13. 'posts_peq ! Br_pageD n m z [ Y y' => '28', // 显示篇数
  14. );
  15. //查询文章
  16. $query = new WP_Query( $args );
  17. while ($query->have_posts()) : $query->the_post(); ?>
  18. <li class="clearfix"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
  19. <?d \ u @ C j J 1 Nphp endwhile; ?>

在循环参数里添加? K ? . U o'paged'=>get_query_var('paged'),可以调用网站后台设置的每页显示条数,如果要6 3 @ g + :分页还要进行以下的操作:

先将下的函数放到 functions.php 里;

  1. $indexlistid = 'page_id='.get_option('wpd_indexlist')h ; H;;
  2. $searchlistid = 'page_id='.get_op) g R X c c W +tionz T / G k x ] M40;'wpd_searchlist');
  3. fun` D Pction lingfeng_custom_pagena$ r .vi( $custom_query,$range = 4 ) {
  4. global $paged,$wp_query;
  5. if ( !$max_page ) {V # b ] m v F N B;
  6. $max_page = $custom_query->max_num_s ( qpages;
  7. }
  8. if( $max_page >1 ) {
  9. echo '<div class="pagination">';
  10. if( !$paged )M } % e;{
  11. $paged = 1;
  12. }
  13. if( $paged != 1 ) {
  14. echo "<a href='https://www.22vd.com/".str_replace(arrayj a + ) P($indexlistid,$searS $ E _ V ?chlistid),'',get_pagenur z 9 J P K ^ om_link(1&s l _ h d U =#41;7 H h).H d & ` a T - p `"' class='extend' title='跳转到首页'>最前</a>&quZ # 1 d d uot;;
  15. }
  16. if ( $max_page >$range ) {
  17. if( $paged <$range ) {h s 2 K ~ B x R S;
  18. forU b s B F j - | R40; $i = 1; $i <= ($range +1); $i++ ) {
  19. echo &quotr * e ! } 5 ! a W;<a href='https://www.22vd.com/".str_replace(array($indexlistid,$searchlistid),'',sE c ? F \ dtr_replace(array($ina S X : 9 k C P hdexlistid,$searchlistid),'',get_pagenum_link($i))) ."'https://www.22vd.com/";
  20. if($i==$pagedE % L s !] 9 - # [ I y1; echo " class='active'https://www.22vd.com/";echo ">$i</a>";
  21. }
  22. }r : F w j;elseif($paged >= ($max_page -ceil(($range/2)))){
  23. for($i = $max_page -$range;$i <= $max_page;$i++){
  24. echo "<a href='https://www.22vd.com/".str_replace(ars d ~ g u 9 { 6 1ray($indexlistid,$searchlistid),'',get_pagenum_lK { Dink($i)) ."'https://www.22vd.com/&quotg q \ J .;;
  25. if($i==$paged)echo " class='active'https://www.22vd.com/"5 f 5 s;echo ">$i</a/ : _ ~ l&g4 u K m F L , ut;";
  26. }
  27. }elseif($pagg ; v J * Qed &g: G 6 7t;= $range &&$paged <($max_B $ :page -ceil(($range/2)))){
  28. for($i = ($paged -ceil($range/2));$i <= (& % G u$paged +ceil(($range/2)));$i++){
  29. echo "<a href='https://www.22vd.com/".str_replace(array($indh @ Z 6 s [ Y Jexlistid,$searchlistid)R f !,'',r ) y - { & q |get_p* U 7agenum_linQ f ^ 6k($i))w F .; ."'https://www.22vd.com/";if($i==$paged) echo &quL + 0 Got; class='active'https://www.22vd.com/";echo ">$i2 | Z s L W</a>&quot8 $ X;;
  30. }
  31. _ ) a + s _ L w \125;
  32. }else{
  33. for($i = 1;$i <= $max_page;$i++){
  34. echo "<a href='https:/] i F l y D/www.22vd.com/".str_replace(array($iX V ^ S n 6ndexlistid,$searchlistid),'',m Z (get_pagenum_link($i)) ."'https://www.2& ( r & n D ^2vd.com/&B w rquot;;
  35. if($i==$paged)echo " class='active'https://www.22vd.com/";echo "&gt\ v p * D G \ Y;$i</a>";
  36. }
  37. l ( e ` d i 325;
  38. if($paged !^ M 4 ! x = K + )= $max_page){
  39. echo "<a href='https://www.22vd1 c ^ & 0 ! / 0.com/".str_replace(array($indexlistid,$searchli= 4 \ $ } ~ - Estid),'',get_pagenum_link($maxe t e / p r_page))."' class='extend' title='跳转到最后一页'>最后</a>";
  40. }
  41. echo '<span>共['.$max_page.']页&lw T t dt;/span>';
  42. echo "</div>";
  43. }
  44. }
  45. function _paging_link( $i, $title = '' ) ( 9 = B123;
  46. if ( $title == '' ) $title = "第 {$i} 页";
  47. echo "<a href='https://www.22vd.com/", esc_HTML(j M j n h \ / m get_pagenum_lil ^ | f \nk( $i &b ` B J F ) A v#4_ g M ^ p ? j1; ), "'>{$i}</a>";
  48. }

然后在分页位置,使用下面的标签调用分页按钮。

  1. <?php
  2. //调用分页
  3. lingfeng_custom_pagenavi($query);
  4. // 重置请求数v N D m
  5. wp_reset_postdata();
  6. ?>

除了使用之外,还可以使用 WP_QS @ % \ }uery] . L \ j b 2 d 函数查询。代码如下:

  1. <?php $myqueryargss = array(
  2. 'post_type' => 'post',
  3. 'posts_per_page' => 9(每页的条数),
  4. 'orderby'=&gK e { N 0 ; v ,t; 'date',$ T \ J
  5. 'category_name'=>'promotion',(分类名称)
  6. 'order' => 'ASC',
  7. &a q 1 : 4 Y U H W#41;; ?&% u T m \ mgt;
  8. <?php $myquer[ : S 6 ] Iys= new WP_Query( $myqueryargss );?>
  9. <E Y ) ] S c k?php if ( $myquerys->have_posts() ): ?>
  10. <?php while ( $myquerys->have_posts() ) : $myquerys->the_post(); ?>
  11. <?L K p = { T 9 g =php if ( $myquerys->current_post < 9) :i 1 : C ?>
  12. <li> <b></b><a href="<?php the_permalink(); ?>" target=&qN 4 c , Y { uuot;_blank"> <?php4 u = Z m b echo mb_strimwidth(get_the_title(), 0, 26, '& p F i n 0 G...'); ?></a></li>
  13. <?php endif; ?>
  14. <?php endwhile; ?>
  15. <?php endif; ?>
  16. <?php wp_reset_postdataf c f l { a o P i0;);?>

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WooCommerce 添加自定义货币/符号

2022-7-1 15:25:23

WordPress教程

WordPress 搜索到某个指定关键词就跳到指定页面

2022-7-8 16:52:46

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索