前後に記事があるときだけナビゲーションを出す

In: WordPress

26 1月 2009

WordPressでは、next_post_link()、next_previous_link()という関数で、前後のナビゲーションが出力できるんですが、これをUL-LIでデザインしたところ、記事がないときに空のULが出てしまうことに。

<ul>
<?php if(next_post_link('<li class="newer">Newer : %link </li>')) : ?><?php endif ; ?>
<?php if(previous_post_link('<li class="older">Older : %link </li>')) : ?><?php endif ; ?>
</ul>

Validatorエラーが出て気持ち悪いので、一計を案じました。
前後の記事があるときだけ、と思って

というif文で囲んでみたところ、うまくいきませんでした。next_post_linkは、リンク出力用の関数で、boolean値ではないからです。

もう少し調べてみたところ、前後の記事を判定する関数がありましたので、これを使わせてもらいました。

<?php if(get_next_post() || get_previous_post()) : ?>
	<ul>
	<?php if(next_post_link('<li class="newer">Newer : %link </li>')) : ?><?php endif ; ?>
	<?php if(previous_post_link('<li class="older">Older : %link </li>')) : ?><?php endif ; ?>
	</ul>
<?php endif; ?>

広告

これで、前後のどちらかに記事があるときのみ出力されるようになりました、と。

コメント

5 Responses to 前後に記事があるときだけナビゲーションを出す

トラックバックURL:

Avatar

sw_lucchini

4月 5th, 2010 at 11:44 PM

newer・olderの判定に。

Avatar

かじわら

9月 17th, 2011 at 9:29 AM

前後の記事のナビゲーションに使わせていただきました。
ありがとうございます。

かじわら

Avatar

梶原工務店社長ブログ:木造住宅の修理とメンテナンスのためのサイト

9月 17th, 2011 at 9:39 AM

_09/11前後の記事へのナビゲーションをつけるには

記事の一覧が見やすいようなテンプレートを使用していますが、
ひとつの記事を見てから、次の記事へ行こうとすると、
一旦一覧へ戻らなければなりません。
——————記事を見やす…

Avatar

前後の記事リンクの出力について | Country Netlife plus

11月 10th, 2012 at 10:23 AM

[…] 前後に記事があるときだけナビゲーションを出す | Weblogy […]

Avatar

ku_marin

6月 26th, 2014 at 8:02 PM

これ気になってた。なるほど

Comment Form

About this blog

ここは、SE見習いである私ことdaceloが、日夜習得していくシステム関連の備忘録、phpやWordPressTipsのネタ、あるいはSEOやWebマーケティング関連の雑感を投稿するブログです。 平日は大体毎日投稿しています。土日は休業日です。

カテゴリー

カテゴリー

アーカイブ