Home > WordPress

2008.05.10

pluginを使わずにSite mapを作る

pluginを使わずにSite mapを作る。

最初に、サイトマップ用のphpファイルを作成します。
/wp-content /themes /お使いのテーマ名 に page.php なければ index.php をコピーして新しくsitemap.php として保存します。(sitemapは任意の名前でokです。ここでは sitemap.php としました。)

sitemaps.phpファイルの最上部に

<?php
/*
Template Name: sitemap
*/
?>

を追加、保存します。

管理ページ → 投稿 → ページ作成 を開き、右側「ページ」のプルダウンメニューに「sitemap」が表示されているか確認しましょう。

管理ページ→表示 → テーマエディターで「sitemap.php」を編集します。

投稿記事の表示部分当サイトのテーマ「koikikuukan3」では以下の様になっている部分のコードを削除。

<div class="entry-body">
<?php the_content(’Read more &raquo;’); ?>
<?php link_pages(’<p><strong>Pages:</strong> ‘, ‘</p>’, ‘number’); ?>
</div><!– /entry-body –>

ここにカテゴリータイトルとエントリー(投稿記事)一覧を表示するためのコードを書き込みます。

<p>カテゴリータイトル名</p>
<ul>
<?php
$posts = get_posts(’numberposts=00&category=00‘);
foreach($posts as $post) : ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>

00は、表示したい記事数
00 は、表示したいカテゴリーIDです。
カテゴリーIDの確認は、管理ページ → 管理 → カテゴリー で行って下さい。

以下、表示したいカテゴリーの数分、カテゴリータイトルと 0000 を変更し繰り返します。

ご注意!
$posts = get_posts(numberposts=00&category=00);

この部分をこのままコピペして使用すると「Parse error: syntax error」をくらう事になります。欧文半角カンマが邦文のカンマに置き換わってしまうためなので2箇所の半角カンマを欧文半角カンマに修正してご利用下さい。(申し訳ありません)

一度作成すればエントリーは自動で表示されますが、カテゴリーを追加した場合やカテゴリー名を変更した場合には、このページも変更する必要があります。

最後にページ作成にてタイトル「sitemap」と書き込み、「ページ」のプルダウンメニューで「sitemap」を選択し公開します。

僕は「Site02」として設置しています、又「Site map」の方はプラグイン Sitemap Generatorを利用して設置していますがどちらがいいのでしょう?。

カテゴリーの順序を並べ替えるPlugin category-order2.0.1を使用する事でカテゴリーの順序が自由に帰られる事になりました。

こうなるとプラグインで作成したカテゴリーの順序は自由になりません、という事で当サイトでは「pluginを使わずにSite mapを作る」方を採用する事にしました。

2008.04.11

トラックバックURL表示欄

Guestbookを作成したらトラックバックURL表示欄もGuestbookに作成されてしまった、これはテーマkoikikuukan3ではcomments.phpにトラックバックURL表示欄のコードが記述されていたからなのでcomments.phpにあった以下のコードを

<!– トラックバックはここ! –>
<h3 class="comments-head">Trackback URL</h3>

<!– トラックバックURL –>
<input type="text" value="<?php trackback_url(true); ?>" size="60" readonly="readonly" id="trackbackurl" tabindex="1" accesskey="t" onfocus="this.select()" />

single.phpに移動して単一記事のページにはトラックバックURL表示欄が表示され、Guestbookには表示されないようにしました。

中央カラムに「お知らせ」を表示する

小粋空間さんの記事に『中央カラムに「ニュース」「お知らせ」を表示する』というのがありました。

最近の自分の状況などを書けばサイトを訪れて下さった方に、より親しみを持って頂けるかと思い設置する事にしました。

僕の場合はインデックスページへの表示だけで良いかと、「テンプレートモジュール」にする作業はしていません。(最も良く判らなかったからという事が大方でしょうか?)

僕の場合は「お知らせ」というほどのものも無いので「最近の情報」という事でstyle.cssに以下を設置。

/* ニュースへっだー */
.news {
border: solid 1px #808080;
padding: 0px 10px 0px 10px;/* */
}
.news-header {
color: #444444;
font-size: 12px;
font-weight: bold;
border: solid 1px #808080;/* お知らせ部分のみの囲み */
background: #f6f6f6;
}
.news-content {
}
<

index.phpには以下青い部分を設置(黒い文字部は位置関係を現します。)して実現しています。

<div class="blog">
<!–にゅーすへっだー –>
<div class="entry">
<div class="news">
<p class="news-header">●最近の情報</p>
<p class="news-content">WordPress Japan 閉鎖に伴い<a href="http://ja.wordpress.org/">WordPress日本語</a>に移行すべく奮闘中です。</p>
</div>
</div>

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

2008.04.10

Page表示メニューをヘッダーの下に移動

テーマkoikikukan3のサイドバーにあるPage表示メニューをWerdPress MeのテーマEasyAll 1.0ののPageメニューのようにヘッダー下に設置する。
style.cssの適当な位置に以下を記述します。

#navcontainer ul {
padding: 0;
margin: 0;
background: #5F707A;
border-top: 1px solid #DFDFDF;
border-bottom: 1px solid #DFDFDF;
float: left;
width: 100%;/* ナビの横幅760pxを変更 */
font: 13px Osaka, Verdana, sans-serif;
}
#navcontainer ul li {
display: inline;
}
#navcontainer ul li.page_item a {
padding: 5px 14px 5px 14px;
background: #9C9D95;
color: #ffffff;
text-decoration: none;
font-weight: bold;
float: left;
border-right: 1px solid #FFFFFF;
}
#navcontainer ul li.page_item a:hover {
color: #FFFFFF;
background: #C9C0B0;
}
#navcontainer ul li.current_page_item a {
padding: 5px 14px 5px 14px;
background: #C9C0B0;
color: #FFFFFF;
text-decoration: none;
float: left;
border-right: 1px solid #DFDFDF;
}
#navcontainer ul li.current_page_item a:hover {
background: #6F6F6F;
}

次にheader.phpの下方設置位置に以下のHTMLを記述します。

<div id="navcontainer">
<ul>
<?php wp_list_pages(’title_li=’); ?>
</ul>
</div>

これでヘッダー下にPage表示メニューの設置が出来ました。

しかし、この状態でカテゴリーを追加すると追加したカテゴリーが全てヘッダー下のナビゲーションメニューに表示されてしまいます。
これを回避するために

<div id="navcontainer">
<ul>
<?php wp_list_pages(’exclude=○,○&title_li=’); ?>
</ul>
</div>

のようにexclude=○,○を挿入し○,○にはカテゴリーリストページ夫々のidを書き込みナビゲーションメニューの表示から削除しました。

2008.04.09

テーマkoikikukan3にログインリンクの追加

テーマkoikikukan3にはサイト管理、ログアウトといったメタの部分が無いのです。
もし、ログアウトしてしまった時には困るのでは無いかと思い管理画面に入るも出るにも困るので取りあえずデフォルトテーマのEasyALLのSideber.phpのメタ情報のところあたりからそれらしいコードの部分をコピペして貼付けてみました。

でも、管理画面からログアウトなんてしないので必要ないかも?

<!–めた –>
<li><h2><?php _e(’Meta’); ?></h2>
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<?php wp_meta(); ?>
</ul>
</li>