SnowMonkeyカスタマイズ|ページネーションに『次へボタン』を追加する
SnowMonkeyのアーカイブページで表示されるページネーションをカスタマイズしたいと思って少し調べたのでまとめておきます。
Cocoonのアーカイブページのページネーションは、ド派手な次へボタンが表示されるのでとても便利です。
以前、Cocoonと同じように次へボタンが表示されるカスタマイズをSWELLに対して行った記事を書きました。
SWELLのページャーをCocoon風にカスタマイズ SWELLはページ分割されている記事やアーカイブページでページャーが表示されます。 Cocoonのページャーは、次のページへという目立つ大きなボタンがあって便利なのです…
SnowMonkeyでも同じようなボタンを追加したいと思ったので、カスタマイズを行いましたので、この記事でご紹介します。
Cocoonの次へボタンをSnowMonkeyのページネーションに追加する
変更するテンプレートパーツ
SnowMonkeyのアーカイブページのページネーションは、template-parts/archive/pagination.php
テンプレートパーツを呼び出しています。
<?php
/**
* @package snow-monkey
* @author inc2734
* @license GPL-2.0+
* @version 11.3.3
*
* renamed: template-parts/pagination.php
*/
use Inc2734\WP_Basis\App\Model\Pagination;
global $wp_query;
if ( empty( $wp_query->max_num_pages ) || $wp_query->max_num_pages < 2 ) {
return;
}
Pagination::the_posts_pagination();
このテンプレートパーツを書き換えれば、カスタマイズできます。
カスタマイズコード
snow_monkey_template_part_render_
フックを使います。
<?php
/**
* @param $html テンプレートパーツの出力HTML
* @param $name テンプレートパーツの名前
* @param $vars テンプレートパーツのリクエスト配列
*/
add_filter(
'snow_monkey_template_part_render_template-parts/archive/pagination',
function( $html, $name, $vars ) {
global $wp_query;
ob_start();
if(empty($paged)) $paged = 1;
//全ページ数
$pages = $wp_query->max_num_pages;
if(!$pages){
$pages = 1;
}
//ページが1ページしかない場合は出力しない
if($pages != 1) {
//次のページ番号
if ( $pages == $paged ) {
$next_page_num = $paged;
} else {
$next_page_num = $paged + 1;
}
//現在のページ番号が全ページ数よりも少ないときは「次のページ」タグを出力
if ( $paged < $pages ) {
echo '<div class="pagination-next"><a href="'.get_pagenum_link($next_page_num).'" class="pagination-next-link">次のページ</a></div>';
}
}
echo $html;
return ob_get_clean();
},
10,
3
);
まとめ
最近では、サイト制作でもSnow Monkeyを使う機会がめっきり減っています。
SWELLでできることはSWELLでやってしまうのが簡単で、それでダメならArkhe、それでもダメならSnowMonkeyという優先順位になっています。
コメントを閉じる
コメント