不錯的插件。一個主題使用實例(以二十五試過):
1.自定義模板頁
創建文件page-pjax.php
主題內。
在admin中,創建一個頁面並使用此模板。它只是顯示存檔鏈接,並在其周圍展開。
<?php
/**
* Template Name: Pjax Example
*/
get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
$args = array(
'type' => 'daily',
'limit' => '',
'format' => 'html',
'before' => '<span class="a-pjax">',
'after' => '</span>',
'show_post_count' => true,
'echo' => 1,
'order' => 'DESC'
);
wp_get_archives($args);
?>
<div id="pjax-container"></div>
</main>
</div>
<?php get_footer(); ?>
2.添加pjax插件和自定義腳本
的主題文件夾/js
裏面添加jquery.pjax.js
和下面的腳本my-pjax.js
。
jQuery(document).ready(function($) {
$(document).pjax('span.a-pjax a, #recent-posts-2 a', '#pjax-container', {fragment:'#main'})
});
3。加載jQuery,pjax和我們的自定義腳本
在functions.php
。僅加載模板頁面。
add_action('wp_enqueue_scripts', 'load_scripts_so_43903250');
function load_scripts_so_43903250() {
if (is_page_template('page-pjax.php')) {
wp_register_script('pjax', get_stylesheet_directory_uri() . '/js/jquery.pjax.js');
wp_enqueue_script('my-pjax', get_stylesheet_directory_uri() . '/js/my-pjax.js', array('jquery','pjax'));
}
}
4.注意到
$(document).pjax(
'span.a-pjax a, #recent-posts-2 a', // ANCHORS
'#pjax-container', // TARGET
{fragment:'#main'} // OPTIONS
);
錨存檔鏈接和具有ID #recent-posts-2
小部件最近的帖子。將其移除以進行此測試或根據需要添加其他鏈接容器。
TARGET在模板上被硬編碼。
選項,該片段是必不可少的,因爲pjax不會加載完整的HTML頁面,我們必須告訴它我們想要的目標頁面的哪一部分。
在二十五,內容是在這個div:<main id="main" class="site-main" role="main">
。根據使用的主題進行調整。
見pjax筆記:https://github.com/defunkt/jquery-pjax#response-types-that-force-a-reload
是您在HTML5主題? –
你解決了嗎? – MechanisM