関数の概要
the_post_navigation()
は、WordPressテーマ内で現在の投稿に関連するナビゲーションリンクを表示するために使用される関数です。この関数は、単一の投稿ページで前後の投稿へのリンクを生成します。特にブログやニュースサイトで、関連する投稿に簡単にアクセスできるようにするために役立ちます。
パラメータの説明
the_post_navigation( $args )
$args
(array|string)(省略可能):ナビゲーションリンクをカスタマイズするための引数の配列またはクエリ文字列。主な引数は以下の通りです:prev_text
(string):前の投稿へのリンクテキスト。デフォルトは'%title'
です。使用可能なプレースホルダーは%title
(前の投稿のタイトル)です。next_text
(string):次の投稿へのリンクテキスト。デフォルトは'%title'
です。使用可能なプレースホルダーは%title
(次の投稿のタイトル)です。in_same_term
(bool):同じタクソノミー用語内で前後の投稿を表示するかどうか。デフォルトはfalse
です。excluded_terms
(array|string):除外するタクソノミー用語のIDリスト。デフォルトは空です。taxonomy
(string):in_same_term
がtrue
の場合に使用するタクソノミー。デフォルトは'category'
です。screen_reader_text
(string):スクリーンリーダー向けのテキスト。デフォルトは__( 'Post navigation' )
。
使用例
以下は、the_post_navigation()
関数を使用してデフォルトのナビゲーションリンクを表示する基本的な例です:
<?php the_post_navigation(); ?>
カスタムテキストを指定してリンクを表示する例:
<?php the_post_navigation( array(
'prev_text' => __('« %title'),
'next_text' => __('%title »')
) ); ?>
同じカテゴリー内で前後の投稿を表示する例:
<?php the_post_navigation( array(
'in_same_term' => true,
'taxonomy' => 'category'
) ); ?>
関連する関数
previous_post_link()
: 前の投稿へのリンクを表示するために使用されます。next_post_link()
: 次の投稿へのリンクを表示するために使用されます。the_posts_pagination()
: 複数の投稿ページのナビゲーションリンクを表示するために使用されます。the_permalink()
: 現在の投稿のパーマリンクを表示するために使用されます。
ナビゲーションリンクのカスタマイズ
ナビゲーションリンクのスタイルや構造をカスタマイズするために、CSSクラスやカスタムHTMLを追加することができます。以下は、CSSクラスを追加してナビゲーションリンクをカスタマイズする例です:
<div class="custom-post-navigation">
<?php the_post_navigation( array(
'prev_text' => __('« %title'),
'next_text' => __('%title »')
) ); ?>
</div>
前後の投稿リンクをカスタムラベル付きで表示する例
前の投稿リンクと次の投稿リンクをカスタムラベル付きで表示する例です:
<div class="post-navigation">
<?php the_post_navigation( array(
'prev_text' => __('« Previous: %title'),
'next_text' => __('Next: %title »'),
) ); ?>
</div>
スクリーンリーダーテキストのカスタマイズ
スクリーンリーダー向けのテキストをカスタマイズすることも可能です。以下は、スクリーンリーダーテキストを変更する例です:
<div class="post-navigation">
<?php the_post_navigation( array(
'screen_reader_text' => 'Post navigation',
) ); ?>
</div>
完全なカスタマイズ例
以下は、すべての主要な引数を使用してナビゲーションリンクを完全にカスタマイズする例です:
<div class="custom-post-navigation">
<?php the_post_navigation( array(
'prev_text' => __('« Previous: %title'),
'next_text' => __('Next: %title »'),
'in_same_term' => true,
'taxonomy' => 'category',
'screen_reader_text' => 'Post navigation',
) ); ?>
</div>
このようにして、the_post_navigation()
関数を使用することで、テーマのテンプレートファイル内で現在の投稿に関連するナビゲーションリンクを簡単に表示することができます。これにより、ユーザーが関連する投稿にアクセスしやすくなり、サイトのナビゲーションが向上します。