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

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マーケティング関連の雑感を投稿するブログです。 平日は大体毎日投稿しています。土日は休業日です。

紹介

カウンター

昨日:856 今日:1044 合計;301469

カレンダー

2010年9月
« 8月    
 12345
6789101112
13141516171819
20212223242526
27282930  

Translator

Japanese flagEnglish flagIndonesian flag
By N2H