当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「関数リファレンス/paginate links」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(パラメータ)
(関連: {{Tag Footer}})
134行目: 134行目:
 
== 関連 ==
 
== 関連 ==
 
{{Pagination}}
 
{{Pagination}}
 +
 +
{{Tag Footer}}
  
 
{{原文|Function Reference/paginate links|141916}}<!--  March 2014 F J Kaiser  -->
 
{{原文|Function Reference/paginate links|141916}}<!--  March 2014 F J Kaiser  -->
[[Category:Functions]]
 

2015年5月22日 (金) 23:49時点における版

説明

アーカイブされた投稿ページのページ番号付きのリンクを取得します。この関数は任意のページに飛ぶためのページ番号付きリンクを生成します。 (例 : « Prev 1 … 3 4 5 6 7 … 9 Next » )

使い方

<?php echo paginate_links( $args ); ?>

パラメータの初期値

<?php $args = array(
	'base'         => '%_%',
	'format'       => '?page=%#%',
	'total'        => 1,
	'current'      => 0,
	'show_all'     => False,
	'end_size'     => 1,
	'mid_size'     => 2,
	'prev_next'    => True,
	'prev_text'    => __('« Previous'),
	'next_text'    => __('Next »'),
	'type'         => 'plain',
	'add_args'     => False,
	'add_fragment' => ''
); ?>

パラメータ

この関数のパラメータの配列はすべて任意の指定になっていますが、必要な引数を指定していなければ何も出力されません。

base
string) (任意) URLを参照し、ページ番号付きのリンクを生成するために使われます。 'http://example.com/all_posts.php%_%'における初期値 '%_%'は'format' という引数 (下記参照)によって置き換えられます。
初期値: '%_%'
format
string) (任意) ページネーションの構造を指定するのに使います。 初期値は'?page=%#%'で、プリティパーマリンク(「?」などの記号を含まないURL)を使いたい場合は、'/page/%#%'のように書けば、'%#%'の部分がページ番号に置き換わります。
初期値: '?page=%#%'
total
integer) (任意) 全体のページ数
初期値: 1
current
integer) (任意) 現在のページ番号
初期値: 0
show_all
boolean) (任意) Trueの場合、現在ページ付近のページ番号の短いリストではなくすべてのページ番号が表示されます。初期値では'show_all'はfalseになっていますので、'end_size'と'mid_size'の引数でコントロールします。
初期値: False
end_size
integer) (任意) ページ番号のリストの両端(最初と最後)にいくつの数字を表示するか。
初期値: 1
mid_size
integer) (任意) 現在のページの両側にいくつの数字を表示するか。ただし現在のページは含みません。
初期値: 2
prev_next
boolean) (任意) リストの中に「前へ」「次へ」のリンクを含むかどうか。
初期値: True
prev_text
string) (任意) 前のページへ送る時のリンクの文言。'prev_next' という引数を正しく設定しなければ動きません。
初期値: __('« Previous')
next_text
string) (任意) 次のページへ送る時のリンクの文言。'prev_next'という引数を正しく設定しなければ動きません。
初期値: __('Next »')
type
string) (任意) 戻り値をコントロールします。可能な値は:
  • 'plain' - 改行文字によって区切られたリンクの文字列を返します。
  • 'array' - 表示を完全にコントロールできるようにページ送りのリンクを配列に入れて返します。
  • 'list' - ulのHTMLのリストを返します。
初期値: 'plain'
add_args
array) (任意) 追加のクエリ引数の配列。
初期値: false
add_fragment
string) (任意) それぞれのリンクに付け加える文字列。
初期値: なし

戻り値

mixed (array|string) 
リンクの文字列または配列。

用例

基本的な用例

検索結果のページにページ送りを追加したい時は次の例のように使います。:

<?php
global $wp_query;

$big = 999999999; // need an unlikely integer

echo paginate_links( array(
	'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
	'format' => '?paged=%#%',
	'current' => max( 1, get_query_var('paged') ),
	'total' => $wp_query->max_num_pages
) );
?>

カスタムクエリを使用した場合の用例

new WP_Query でループのクエリを作成している場合、'total'パラメーターにWP_Queryオブジェクトのmax_num_pagesプロパティを設定してください。

カスタムクエリの例は:

<?php
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;

$args = array(
	'posts_per_page' => 5,
	'category_name' => 'gallery',
	'paged' => $paged,
);

$the_query = new WP_Query( $args );
?>
<!-- the loop etc.. -->

ページ送りリンクの引数を上のカスタムクエリに適用した例:

<?php
$big = 999999999; // need an unlikely integer

echo paginate_links( array(
	'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
	'format' => '?paged=%#%',
	'current' => max( 1, get_query_var('paged') ),
	'total' => $the_query->max_num_pages
) );
?>

注釈

変更履歴

ソースファイル

paginate_links()wp-includes/general-template.phpの中にあります。

関連

ページネーション: posts_nav_link(), next_posts_link(), previous_posts_link(), get_next_posts_link(), get_previous_posts_link(), paginate_links(), wp_link_pages(), next_post_link(), previous_post_link(), next_image_link(), previous_image_link(), the_posts_pagination(), get_the_posts_pagination()


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/paginate links最新版との差分