WordPressのカスタマイズとプラグイン、CSSテクニック、SEOの話題など。
In: WordPress
26 1月 2009WordPressでは、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; ?>
これで、前後のどちらかに記事があるときのみ出力されるようになりました、と。
ここは、SE見習いである私ことdaceloが、日夜習得していくシステム関連の備忘録、phpやWordPressTipsのネタ、あるいはSEOやWebマーケティング関連の雑感を投稿するブログです。 平日は大体毎日投稿しています。土日は休業日です。