仕事でタイトル通りのことをする必要があったのでメモエントリ。
こりゃ便利だ。
過去に設置したサイト(静的HTMLで作成)に後日WordPressを追加して、いわゆる「What’s New」的なものをつけはじめたんですが、それをトップページに配信したいって案件だったんです。
新しく作るサイトなら全部WordPressで構築してしまえばいいんですが、後からとなるとそのためにトップページを作りなおすのも面倒・・・ということでこんなTipsを。
index.htmlにこの1行を追加するだけで、wpタグ(テンプレートタグ)を使うことが出来るようになります。
<?php require './wp/wp-blog-header.php'; ?>
そうしておいて、こんな感じでタグを書けばカテゴリの最新記事X個を並べることができますね。
<ul class="categoryList"> <?php $posts = get_posts('numberposts=10&category=1'); foreach($posts as $post) : setup_postdata($post); ?> <li><a href="<?php the_permalink() ?>"><span class="date"><?php the_time(__('Y年 Md日')) ?></span> <?php if(mb_strlen($post->post_title,'UTF-8')>30) { $title= mb_substr($post->post_title,0,30,'UTF-8'); echo $title.…;} else { echo $post->post_title;} ?></a></li> <?php endforeach; ?> </ul>
2行目の「category=1」がカテゴリ指定、7,8行目の「30」ってのはタイトルの文字数制限です。
でも、これを追加するってことは、HTMLじゃなくなってPHPになるんですよね。
単純に「index.php」に変更してもいいですが、どうしても拡張子は.htmlにしたいという場合があると思います。
そんな時は「.htaccess」を設置して下記を追加します。
AddType application/x-httpd-php .htm .html
これでめでたく解決。
良かった良かった。