WordPressのシングルページで前後の投稿やページ分割のリンクを出力

WordPressのシングルページで記事の最後に「前の投稿」や「次の投稿」などのリンクを出力するやり方と、ついでに1つの記事を分割するやり方の紹介です。というか記事を分割できる機能なんてあったんですね。

シングルページで前後の投稿のリンクを出力してみる

前後の投稿のリンクを出力するにはprevious_post_linkとnext_post_linkを使います。これをシングルページで表示したい場所に追加していきます。

previous_post_linkで前の投稿を出力

previous_post_link('%link', '%title');で前の投稿を出力することができます。%linkはリンクを出力し、%titleは前の投稿のタイトルを出力します。日付も同時に出力したい場合には%titleと同じパラメータの部分に%dateを追加します。同一カテゴリーだけで前や次の出力をしたい場合は三つ目のパラメータにtrueを指定してあげます。こんな感じです。

previous_post_link('%link', '%title', true);

これで現在と同じカテゴリーの中だけで前や次のページへのリンクを出力することができます。

next_post_linkで次の投稿を出力

次の投稿を出力する場合には以下の関数で表示されます。

next_post_link('%link', '%title');

パラメータはprevious_post_linkと同じです。

特定のカテゴリーを含みたくない場合

特定のカテゴリーを除外したい場合には4つ目のパラメータに除外したいカテゴリーIDを指定します。

previous_post_link('%link', '%title', false, 3);
next_post_link('%link', '%title', false, 3);

例えばカテゴリーIDが3のカテゴリーを含みたくない場合には3を指定してあげます。複数のカテゴリーを指定したい場合はandでつなげてあげます。

previous_post_link('%link', '%title', false, '3 and 10');
next_post_link('%link', '%title', false, '3 and 10');

こんな感じで複数のカテゴリーIDを指定していきます。

シングルページでページを分割したい場合の出力方法

WordPressではシングルページで長い文章などを分割して表示したい場合、投稿画面で分割したい場所に<!--nextpage-->を入れるとそこからページ分割をすることができます。ページを分割した場合、デフォルトでは「ページ: 1 2 3」などと表示されます。これを表示させるにはシングルページの中にwp_link_pages();を追加します。

wp_link_pagesのパラメータ

wp_link_pagesのパラメータは連想配列で渡していきます。

before / after

beforeはページ分割で何も指定しない場合は

ページ: が出力されます。afterはデフォルトで

と出力されます。これを例えばdivだけにしたいとした場合、以下のように指定します。

wp_link_pages(array('before' =&gt; '&lt;div&gt;', 'after' =&gt; '&lt;/div&gt;'));

next_or_number

ページ分割を表示する際、numberを指定すると番号で表示されます。nextを指定すると「前ページへ」「次ページへ」という表示になります。例えばnextを指定する場合は以下のように指定します。

wp_link_pages(array('next_or_number' =&gt; 'next'));

nextpagelink / previouspagelink

next_or_numberでnextを指定した場合のリンクの文字を変更する場合に使います。デフォルトで表示される「前ページへ」、「次ページへ」を「前へ」、「次へ」と変更したい場合には以下のように指定してあげます。

wp_link_pages(array('next_or_number' =&gt; 'next', 'nextpagelink' =&gt; '次へ', 'previouspagelink' =&gt; '前へ'));

こんな感じでまだ他にも色々パラメータがあるのでもっと知りたい人は以下のページを見るといいかと思います。

スポンサーリンク

スポンサーリンク

アクセスランキング

Tags

Archives