お問い合わせ

SnowMonkeyカスタマイズ|ページネーションに『次へボタン』を追加する

  • URLをコピーしました!

SnowMonkeyのアーカイブページで表示されるページネーションをカスタマイズしたいと思って少し調べたのでまとめておきます。

Cocoonのアーカイブページのページネーションは、ド派手な次へボタンが表示されるのでとても便利です。

以前、Cocoonと同じように次へボタンが表示されるカスタマイズをSWELLに対して行った記事を書きました。

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という優先順位になっています。

他の人にもシェアしてね
  • URLをコピーしました!
  • URLをコピーしました!
コメントを閉じる

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

クリックできる目次
  • URLをコピーしました!