MENU
HOME
TOP

WordPressでサイトマップページの表示方法2パターン 「プラグインなし!」

全記事一覧表示するだけでプラグイン増やすのも嫌ですよねえ。

うーん…….。何か良い方法がないものか、よく考えました。

が、しかし考えた時間も無駄になった結論は、単純に全記事出せばええだけやん!!

そうです。なんも考えずに、固定ページを使ってほにゃほにゃしたら良いだけなんです。

今回の考えですが、、以下2パターンのどちらが良い方法かは、そろぞれ個人で決めて頂くとしましょう。

目次 [閉じる]

サイトマップ用にphpファイルを作成

そいじゃとりあえず、サイトマップ用に独自の固定ページを作る方法から紹介します。

sitemap.phpの作成

以下のコードをsitemap.phpというファイル名で保存します。テーマの直下に保存

<?php
/*
Template Name: サイトマップ用ののテンプレートです。*
Template Post Type: page
*/
?>
<div id="entry-content">
<div class="site-map">
<?php
$args=array(
'orderby' => 'name',
'order' => 'ASC'
);
$categories=get_categories($args);
foreach($categories as $category) {
echo '<h3><a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '"' . '>' . $category->name.'</a></h3>';
?>
<ul>
<?php
global $post;
$myposts = get_posts('numberposts=100&category=' . $category->term_id);
foreach($myposts as $post) : setup_postdata($post);
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
<?php }; ?>
<h3>固定ページ</h3>
<ul>
<?php wp_list_pages('title_li='); ?>
</ul>
</div>

あとは、新規固定ページからテンプレートを選ぶだけ!!

実際のサイトマップは、僕のサイトマップと同じです。

ショートコードを作って表示する

プラグインにして配布した方が早いかって思ったけどもさ、、話が違うじゃねーか!!

ま、そうなるのがオチなので、ちょっとネタを探してきましたよ。

僕がコレいいなぁ~っと思ったのが、寝ログさんが紹介してるこの記事です。

ネタ元を見た方が早いかもだけど、紹介しておきます。

functions.phpに追記

コードの変更はいらないので、そのまま使わせてもらいますね。

add_shortcode('sitemap', 'sitemap_shortcode');
if ( !function_exists( 'sitemap_shortcode' ) ):
function sitemap_shortcode( $atts, $content = null ) {
extract( shortcode_atts( array(
'page' => 1,
'single' => 1,
'category' => 1,
'archive' => 0,
), $atts ) );
ob_start();?>
<div class="sitemap">
<?php if ($page): ?>
<h2>固定ページ</h2>
<ul>
<?php wp_list_pages('title_li='); ?>
</ul>
<?php endif; ?>
<?php if ($single): ?>
<h2>記事一覧</h2>
<ul>
<?php wp_get_archives( 'type=alpha' ); ?>
</ul>
<?php endif; ?>
<?php if ($category): ?>
<h2>カテゴリー</h2>
<ul>
<?php wp_list_categories('title_li='); ?>
</ul>
<?php endif; ?>
<?php if ($archive): ?>
<h2>月別アーカイブ</h2>
<ul>
<?php wp_get_archives('type=monthly'); ?>
</ul>
<?php endif; ?>
</div>
<?php
return ob_get_clean();
}
endif;

引用元 WordPressで簡単なサイトマップページを作れるショートコードの実装方法【プラグイン不要】

固定ページにショートコードを貼り付ける

で、サイトマップを表示したい固定ページの本文に、以下のショートコードを貼り付けます。

 [sitemap] 

デフォルトでは、摘出のアーカイブスがオフです。1が表示で0が非表示

例えば、わしゃカテゴリ一の全記事だけ表示したいんだヨ!!

てな場合には、こういう風に使うという事ですね。

 [sitemap page=0 single=0 category=1 archive=0] 

まとめ

WhiteTigerのトップページは、カテゴリごとの記事一覧が表示されてるのが分かるかと思います。

実はコレ、元々サイトマップ用に作った固定ページを加工して作成したページなんす。

固定ページ「 オリジナル 」の作り方が分かれば、全く違ったオサレなページを何個でも作れるので、個人的にはこっちを一回作ってみてほしいです。

そんだけ!!(ごめん)

いつものウザい個人的な考えでした。

スポンサーリンク

この記事をかいた人

閲覧どうもありがとうございます。当サイトキャンディースタイルとWordPressテーマのWhite Tigerというサイトを運営しています。まだまだ初心者なので、お見苦しいとこがありますがどうぞよろしく。

この記事にコメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください