wordpress和jquery实现点击加载更多文章的详细方法

秦伯寅
2023-12-01

对于wordpress实现点击加载更多的方法,目前网络上用的较多的方法采用一款WordPress插件Infinite Scroll来实现的,大江网络工作室也是采用这个方法进行了测试,发现用起来并不是想象的那样好,于是研究了一个纯代码实现的方法,下面分享给大家。

  1.  <?php   
  2.    
  3.  $item_per_page = 9;  //每页显示数  
  4. //默认是第一页   
  5.  $page_number = isset($_GET['paged']) ? $_GET['paged'] : 1;   
  6.     
  7. //确保分页参数是数字  
  8. if(!is_numeric($page_number)){    
  9.     header('HTTP/1.1 500 Invalid page number!');    
  10.     exit();    
  11. }    
  12.     
  13. //得到分页的limit偏移区间  
  14. $position = ($page_number * $item_per_page);    
  15.   
  16.   $id = $_GET['cat'];//得到当前栏目id  
  17.   //查询出当前栏目下的文章,同下  
  18.   if($id==2){$sql = "SELECT ID,post_title,post_content,post_date,post_name FROM wp_posts,wp_term_relationships,wp_term_taxonomy WHERE ID=object_id AND wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id AND post_type='post' AND post_status = 'publish' AND wp_term_relationships.term_taxonomy_id in(7,11,10,19,8,17,18) AND taxonomy = 'category' ORDER BY ID DESC LIMIT 0, $position ";}else{  
  19.   //查询出当前栏目下的文章,同上  
  20. $sql = "SELECT ID,post_title,post_date,post_content,post_name FROM wp_posts,wp_term_relationships,wp_term_taxonomy WHERE ID=object_id AND wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id AND post_type='post' AND post_status = 'publish' AND wp_term_relationships.term_taxonomy_id = $id AND taxonomy = 'category' ORDER BY ID DESC LIMIT 0, $position ";}  
  21.   
  22. global $wpdb;    
  23. $rs = $wpdb->get_results($sql);   
  24.    
  25. foreach($rs as $cat)    
  26.   
  27. //循环输出该栏目下的文章,文章缩略图,文章链接和日期  
  28. {?>  
  29.    
  30.   
  31.         <div class="Case_list"> <a href="?p=<?php echo $cat->ID;?>" class="photo" ><img src="<?php $timthumb_src = wp_get_attachment_image_src( get_post_thumbnail_id($cat->ID),'full'); 
  32. echo $timthumb_src[0] ; 
  33. ?>"  alt="<?php echo get_post($cat->ID)->post_title;?>" width="250"/></a> <strong>  
  34.           <?php echo get_post($cat->ID)->post_title;?>  
  35.           </strong> <span class="time">  
  36.           <?php echo get_post($cat->ID)->post_date; ?>  
  37.           </span> </div>  
  38.             
  39. <?php }?>  
  40.   
  41.       </div>  
  42.       <!-- CaseList结束 -->   
  43.       <span class="morecase">  
  44.       <div id="results"></div>      
  45.   
  46.       <?php next_posts_link(__('+ 更多')); //wp内置分页让他自动出现下一页paged参数?>  
  47.   <!--<a href="#">+ 更多</a></span>-->  
  48.     
  49.    </div>  
  50.     <!-- neirong结束 -->   
  51.     <span class="clear"></span>   
  52.     <!-- 清除浮动 -->   
  53.   </div>  
  54. </div>  
  55.   
  56.   
  57. <!-- container结束 -->  
  58.   
  59.   
  60. <?php   
  61. //jquery确保点击分页后浏览器窗口自动滚动到下一页  
  62. if($page_number!=1){?>  
  63.   
  64. <script type="text/javascript">    
  65. $(document).ready(function() {    
  66.   
  67. $("body").scrollTop($("body")[0].offsetHeight);  
  68.   
  69. });    
  70. </script>    
  71. <?php }?>  

评论已关闭。

 类似资料: