素敵なプラグイン。テーマの使用例(Twenty Fifteenで試してみました):
1.カスタムテンプレートページ
page-pjax.php
テーマ内にファイルを作成します。
管理者で、ページを作成し、このテンプレートを使用します。それは単にそれらの周りにスパンを持つアーカイブリンクを表示します。
<?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
);
ANCHORSは、IDを持つアーカイブリンクとウィジェットの最近の投稿です#recent-posts-2
。このテストのためにそれを削除するか、必要に応じて別のリンクコンテナを追加します。
TARGETはテンプレートにハードコーディングされています。
オプション、pjaxは完全なHTMLページをロードしないため、フラグメントは不可欠です。ターゲットページのどの部分が必要かを指定する必要があります。
Twenty Fifteenでは、コンテンツはこのdiv内にあります<main id="main" class="site-main" role="main">
。使用するテーマに合わせて調整してください。
pjaxノートを参照してください:https ://github.com/defunkt/jquery-pjax#response-types-that-force-a-reload