WordPressでサイトを作成していて、トップページに投稿(ブログ)一覧を表示させる際に、特定のカテゴリーだけを表示したい時がありますよね。その方法です。
front-page.phpやindex.phpの表示させたい場所に下のコードを設置します。
<?php query_posts("cat=11&showposts=5"); ?>
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<?php the_time('Y/m/d'); ?>
<a href="<?php the_permalink(); ?>"><?php echo mb_substr($post->post_title, 0, 16).'...'; ?></a>
<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_query(); ?>
Point
1行目のcat=11で表示させたいカテゴリーIDを指定。
showposts=5で表示件数を指定します。
3行目は日付を表示させるコードです。
上記の例ではyyyy/mm/dd形式で表示されます。
年月日表示させたい場合はコードをthe_time('Y年m月d日');にしてください。
4行目はタイトルを表示させるコードです。
上記コードの例では表示させるのは16文字目までで、それ以降は「...」で省略されます。
タイトルを文字数で表示制限せずに全て表示する場合は<?php the_title(); ?>とします。
応用編
上のコードだと16文字以上でも以下でもタイトルの後ろに「...」が付いてしまいます。16文字以下の場合にはタイトルに「...」を付ける必要がありませんので、その場合のコードはこうなります。
(※コードを分かりやすくするためにaタグによるパーマリンクはあえて外しています。)
<?php if(mb_strlen($post->post_title)>16): ?>
<?php echo mb_substr($post->post_title, 0, 16).'...'; ?>
<?php else: ?>
<?php the_title(); ?>
<?php endif; ?>
何をやってるかはコードを見れば分かると思いますが、上のPointで説明した2つのタイトル表示の合わせ技です。