TwentyFourteenのページネーション表示数を増やす方法

TwentyFourteenのページネーション表示数を増やす方法

WordPressのデフォルトテンプレート、TwentyFourteenには最初から各ページへのリンクを並べるページネーションが設置されています。しかし、デフォルトでは前後のページと最初と最後のページしか表示されないため、もう少し数を増やしたいところです。

twentyfourteen_pagination_default

デフォルトでは上の図のようななっています。これでは「次へ」「前へ」のボタンしかないのとあまり変わりません。

個人的には前後3~4ページ分くらいはあった方がユーザーに親切で、Googleのクローラーもサイト全体を把握しやすいのではないかと思います。

functions.phpあたりで定義されているかと思ったのですが見当たらず、探してみたところwp-content/themes/twentyfourteen/incにあるtemplate-tags.phpというファイルで定義されていました。

if ( ! function_exists( 'twentyfourteen_paging_nav' ) ) :
/**
 * Display navigation to next/previous set of posts when applicable.
 *
 * @since Twenty Fourteen 1.0
 */
function twentyfourteen_paging_nav() {
	// Don't print empty markup if there's only one page.
	if ( $GLOBALS['wp_query']->max_num_pages < 2 ) {
		return;
	}

	$paged        = get_query_var( 'paged' ) ? intval( get_query_var( 'paged' ) ) : 1;
	$pagenum_link = html_entity_decode( get_pagenum_link() );
	$query_args   = array();
	$url_parts    = explode( '?', $pagenum_link );

	if ( isset( $url_parts[1] ) ) {
		wp_parse_str( $url_parts[1], $query_args );
	}

	$pagenum_link = remove_query_arg( array_keys( $query_args ), $pagenum_link );
	$pagenum_link = trailingslashit( $pagenum_link ) . '%_%';

	$format  = $GLOBALS['wp_rewrite']->using_index_permalinks() && ! strpos( $pagenum_link, 'index.php' ) ? 'index.php/' : '';
	$format .= $GLOBALS['wp_rewrite']->using_permalinks() ? user_trailingslashit( 'page/%#%', 'paged' ) : '?paged=%#%';

	// Set up paginated links.
	$links = paginate_links( array(
		'base'     => $pagenum_link,
		'format'   => $format,
		'total'    => $GLOBALS['wp_query']->max_num_pages,
		'current'  => $paged,
		'mid_size' => 1,
		'add_args' => array_map( 'urlencode', $query_args ),
		'prev_text' => __( '&larr; Previous', 'twentyfourteen' ),
		'next_text' => __( 'Next &rarr;', 'twentyfourteen' ),
	) );

34行目にあるmid_sizeで前後何ページまでのリンクを作るかが定義されています。

試しに3にしてみると

twentyfourteen_pagination_add

こんな感じになりました。

twentyfourteen_pagination_add4

4ページ目に移動するとこんな感じ。

twentyfourteen_pagination_responsive

小さいブラウザでは上のように表示されます。

このエントリーをはてなブックマークに追加

TwentyFourteenのページネーション表示数を増やす方法」への1件のフィードバック

コメントを残す

頂いたコメントは一読した後表示させて頂いております。
反映まで数日かかる場合もございますがご了承下さい。