WordPressで構築したサイトの対人用
サイトマップをプラグイン無しで作るTips。
手作業は面倒だけど、プラグイン使うほど
じゃない、という気もするので、簡単に作
れる方法をご紹介します。もちろん、良い
プラグインも存在しますので、プラグインで
問題ないならその方がいいと思います。
プラグインでしたら@jim0912さん作のPS Auto Sitemapというのが一番便利そうです。
ここでは、諸事情でプラグイン使えないんだという方用に。そんな場合あるのかよって言われそうですけど僕はあったのです・・・そう、あれは去年の夏のある日のこt
コード
以下のコードをfunctions.phpに貼り付けます。
function simple_sitemap(){ global $wpdb; $args = array('depth' => 0, 'show_date' => NULL, 'date_format' => get_option('date_format'), 'child_of' => 0, 'exclude' => NULL, 'include' => NULL, 'title_li' => '<span class="subheader">固定ページの一覧</span>', 'echo' => 1, 'authors' => NULL, 'sort_column' => 'menu_order, post_title', 'link_before' => NULL, 'link_after' => NULL, 'exclude_tree' => NULL ); echo '<div id="sitemap"><ul>'; wp_list_pages($args); echo '</ul>'; $args = array('show_option_all' => NULL, 'orderby' => 'name', 'order' => 'ASC', 'show_last_update' => 0, 'style' => 'list', 'show_count' => 0, 'hide_empty' => 1, 'use_desc_for_title' => 1, 'child_of' => 0, 'feed' => NULL, 'feed_type' => NULL, 'feed_image' => NULL, 'exclude' => NULL, 'exclude_tree' => NULL, 'include' => NULL, 'hierarchical' => true, 'title_li' => '<span class="subheader">記事カテゴリ</span>', 'number' => NULL, 'echo' => 1, 'depth' => 0, 'current_category' => 0, 'pad_counts' => 0, 'taxonomy' => 'category', 'walker' => 'Walker_Category' ); echo '<ul>'; echo wp_list_categories( $args ); echo '</ul>'; echo '</div>'; } add_shortcode('sitemap', 'simple_sitemap');
これで、サイトマップを作成したいページに
と入力すれば全固定ページとカテゴリが全て表示されます。見出しのテキストは適当に変えてください。
実装
グチャグチャwスタイルしてないのでアレですけど、子ページ(子カテゴリ)や孫ページも表示できますので、なかなかサイトマップっぽく表示できます。
固定ページだけでいい場合
カテゴリもいらん、という方はコード削ってあげてください。
function simple_sitemap(){ global $wpdb; $args = array('depth' => 0, 'show_date' => NULL, 'date_format' => get_option('date_format'), 'child_of' => 0, 'exclude' => NULL, 'include' => NULL, 'title_li' => '<span class="subheader">固定ページの一覧</span>', 'echo' => 1, 'authors' => NULL, 'sort_column' => 'menu_order, post_title', 'link_before' => NULL, 'link_after' => NULL, 'exclude_tree' => NULL ); echo '<div id="sitemap"><ul>'; wp_list_pages($args); echo '</ul></div>'; } add_shortcode('sitemap', 'simple_sitemap');
サイトマップ用のファイルとか用意すればいいんでしょうけど、なんかそれも地味に面倒くさいのでこれでいいのです。
via:snipplr