デジハリ 新しい自分に生まれ変わろう
デジハリ 新しい自分に生まれ変わろう
2011.06.23

WordPress(ワードプレス)でサイトマップを手動で作ったときのタグなど

ひろゆき


お疲れ様です。サイトマップをプラグインなどで実装しようと思ったのですが、見た目を複雑にしたり、一部記事出し、一部記事なしみたいな処理はプラグインだとなかなか面倒そうだったので、とりあえずタグで作ってみました。

最初に使おうと思ったタグ

wp_list_categorys('title_li=');
wp_list_pages('title_li=');

とりあえずこの二つのタグを使えば簡単にできるんじゃないかと思い。早速実装。
ページの方はよかったのですが、カテゴリの方が記事が出ないのでダメでした。
wp_list_categorysって記事でないですよね?

そこでページの方はそのまま使うことにして、カテゴリの方は更に細かくタグを使うことにしました。

最終的に使ったタグとか

最終的には以下のような記述になりました。基本的にスラッグを使ってカテゴリを特定しています。
catslugの部分にスラッグを入れます。

< >
$posts = get_posts('numberposts=0&category_name=catslug');
global $post;
//ここまでが特定のカテゴリの記事を呼び出す記述。スラッグで呼び出しています。また、numberpostsで数を指定できます。

$cat = get_category_by_slug('catslug');
//これで特定のカテゴリの情報を取得しています。

$cat->category_nicename;
$cat->cat_name;
//この2行がカテゴリの情報を引っ張る記述です。上がスラッグで、下がカテゴリ名。ここらへんは適宜やる感じですね。

if($posts): foreach($posts as $post): setup_postdata($post);
endforeach; endif;
//この2行が記事を表示させるためのループです。いつものhavepostsをイメージしてもらって大丈夫です。

wp_list_pages('title_li=');
//最後に最初にも出てきたページの一覧を表示する記述です。

以上で力技な感じのサイトマップが完成します。注意点としては、カテゴリを増やしたときに自動では増えてくれないところですね。
ページとか記事は増えても問題ないです。