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

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; ?>

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

Comment Form

About this blog

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

紹介

カウンター

昨日:524 今日:535 合計;163992

カレンダー

2010年3月
« 2月    
1234567
891011121314
15161718192021
22232425262728
293031  

Translator

Japanese flagEnglish flagIndonesian flag
By N2H