前面博客吧介紹過的 WordPress 滾動自動加載分頁數據插件 Infinite Scroll,該 WP 插件是把 jQuery 插件 jquery.infinitescroll.js 製作成 WordPress 插件,而且現在介紹的是直接把 jquery.infinitescroll.js 集成到主題中,減少 WordPress 插件的使用。像這樣的自動無限翻頁一般使用在淘寶客程序,圖片類網站。

實現步驟:

1 、下載 jQuery 插件

infinite-scroll-master.zip

,解壓後,把根目錄的 jquery.infinitescroll.min.js 文件上傳至當前主題的 js 文件夾;

2 、下載動態圖片 (把鼠標移動圖片上,右擊,圖片另存為),把該圖片上傳至當前主題的 images 文件夾

3 、分頁代碼:該方法只對 WordPress 默認 「上一頁、下一頁」 鏈接生效

<div > <?php next_posts_link('下一頁 &raquo; ') ?> <?php previous_posts_link('&laquo; 上一頁') ?></div>

4 、在當前主題的 functions.php 文件中,添加以下代碼:

/*
加載 infinite scroll 插件腳本
*/
function infinitescroll_js() {
wp_register_script('infinite_scroll', get_stylesheet_directory_uri() . '/js/jquery.infinitescroll.min.js', array('jquery'), null, true);
if (!is_singular()) {
wp_enqueue_script('infinite_scroll');
}
}
add_action('wp_enqueue_scripts', 'infinitescroll_js');
/*
初始化 infinite scroll 插件配置參數
*/
function infinite_scroll_js() {
if (!is_singular() ) {
?>
<script type="text/javascript">
jQuery(document).ready(function(){
var infinite_scroll = {
loading: {
img: "<?php echo get_stylesheet_directory_uri(); ?>/images/ajax-loader.gif",
msgText: "加載中...",
finishedMsg: "已加載所有產品..."
},
nextSelector:".pagenavi a",
navSelector:".pagenavi",
itemSelector:".post",
contentSelector:".main",
};
jQuery( infinite_scroll.contentSelector ).infinitescroll( infinite_scroll );
});
</script>
<?php
}
}
add_action('wp_footer', 'infinite_scroll_js', 100);

參數説明:

img: 等待加載時顯示的動態圖片 URL 路徑

nextSelector: 下一頁 (Previous Post) 鏈接 CSS 樣式名稱 + a 標籤 (類選擇器或 ID 選擇器)

navSelector: 包含上一頁/下一頁鏈接的樣式名稱 (類選擇器或 ID 選擇器)

itemSelector: 包含每篇文章內容的樣式名稱 (類選擇器或 ID 選擇器)

contentSelector: 包含所有文章的樣式名稱 (類選擇器或 ID 選擇器)

提醒:如果按上面方法沒有生效,請檢查樣式是否選擇錯。

5 、 CSS 樣式代碼:(把下面的 CSS 代碼添加到當前主題的樣式文件中,一般是 style.css,可根據自己的喜歡修改對應代碼)

.pagenavi,#infscr-loading {text-align:center; font-size:0.75em;}.pagenavi a {padding:6px 12px; background:#F04848; color:#fff; border:1px solid #dedede; border-right:none; overflow:hidden;}#infscr-loading img {display:block; margin:0 auto; text-align:center;}