人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

wordpress 3.3 のテンプレート編集について、教えてください。

トップページ=1カラム(www.example.com/で表示される。)
個別記事=2カラム

このように出力させたいのですが、
index.php内のコードを、それぞれのルーム中で、
1カラムと、2カラムのHTMLを入れ込めば
それぞれ、1カラムと2カラムで表示されるのでしょうか?

それとも、トップページ用のテンプレートと、
それ以外のページ用のテンプレートを
分けた方がシンプルなのでしょうか?

トップページ用のテンプレートを
個別に作成した場合は、www.example.com/index.html で
このトップページを表示させるには、どうしたら良いのでしょうか?

トップページだけ、他のページとは
大きく異なる形にしたいので、
どのようにテンプレートを作成するのが、
良いのか、教えていただけると助かります。

また、参考になるサイトがあれば、併せて教えていただければと
思います。よろしくお願いします。

●質問者: Tomo
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● mad_papa
●34ポイント

トップページは「home.php」または「index.php」を利用します。
Wordpress初心者のようですので分かりやすい「index.php」をご自由にデザインしてください。
wordpressは「home.php」と「index.php」の両方があると「home.php」を優先するので、「home.php」はサーバーにアップしないでください。

ホーム以下の2カラムとなる2ndレベル以下は「category.php(カテゴリー)」「archive.php(アーカイブ)」「single.php(記事)」が一般的には最低限のファイルとして考えられます。

「single.php」に「loop.php」を読み込ますこともできますが、理解しやすいように初めは「single.php」を記事テンプレートとして作ってください。

2カラムの場合、左カラムに記事、右カラムにメニュー、というレイアウトが考えられます。

右カラムのメニュー部分のテンプレートには「sidebar.php」を読み込みます。

つまり、2カラムでメニューを表示させたい場合は「sidebar.php」を読みこませれば良いことになります。

詳しい内容は「wordpress codex」でも調べることができますよ。
http://wpdocs.sourceforge.jp/Main_Page


2 ● rouge_2008
●33ポイント

デフォルトのテーマか、あるいは管理画面からダウンロードしたテーマを利用しているのでしょうか?
方法はいくつかあると思いますが、トップページ用の固定ページとそのページ専用のテンプレートを作成して使用するのがいいのではないかと思います。

http://wpdocs.sourceforge.jp/Pages
固定ページ用のテンプレートは、上記ページにあるように「Template Name: テンプレート名」という記述を上部に入れます。
(ファイル名は、wordpressで使用するテンプレートで使用する物でなければ何でも大丈夫です。)

<?php
/*
Template Name: トップページ専用
 */
get_header(); // 共通のヘッダーを表示する為に必要です。
?>
<!-- これ以降は自由に記述してください。 -->
<div id="primary">
<div id="content" role="main">
<?php while ( have_posts() ) : the_post(); ?>

<div class="entry-content">
<?php the_content(); ?>
</div>
<?php endwhile; ?>
</div><!-- #end content -->
</div><!-- #end primary -->
<?php get_footer(); // 共通のフッターを表示する為に必要です。
?>

※上記のようにした場合、固定ページの編集画面の「テンプレート」のプルダウンメニューに「トップページ専用」が追加表示されます。
※固定ページの内容を表示する一例ですので、作成したい内容のHTMLに変更してください。

上記テンプレートを適用して固定ページを作成したら、管理画面の「設定」→「表示設定」のフロントページの表示で、「固定ページ (以下を選択)」にチェックを入れ、「フロントページ:」には作成した固定ページを選択します。(「http://www.example.com/」で作成した固定ページが表示されます。(ファイル名まで指定する場合、index.htmlではなくindex.phpになります。)
※wordpressデフォルトのトップページのような記事一覧ページも必要な場合は、内容は空でもいいので固定ページをもう一つ作成して、「投稿ページ:」にそのページを選択しておくと、その固定ページ表示で本来の記事一覧が表示されます。(必要ない場合は、未選択にして「- 選択 -」のままにしておきます。)
※記事一覧ページはindex.phpを使用していますので、既成のテーマを利用していない場合は、index.phpを一覧ページ用のコードで作成する必要があります。

http://www.adminweb.jp/wordpress/disp/index3.html


テーマのそれぞれのファイルについては、以下のページを見ておくといいです。(単一の投稿(記事)ページ、固定ページ、カテゴリーページ等は、それぞれ利用するテンプレートファイルが決まっていて、各々のページが適用する優先順位は以下のページに記載されています。)
http://wpdocs.sourceforge.jp/テンプレート階層
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%BC%E3%83%9E%E3%81%AE%E4%BD%9C%E6%88%90


個別投稿(記事)ページを2カラムにするには、既存のsingle.phpに次のように「<?php get_sidebar(); ?>」を追加して、CSS(style.css)を編集します。

<?php get_sidebar(); ?>
<?php get_footer(); ?>

※固定ページも2カラムにしたい場合は、page.phpにも同じように追加します。
※フッター読み込みの直前で大丈夫だと思いますが、利用しているテーマによって異なる場合もあるかもしれません。
※CSSは利用しているテーマがある場合は、そのテーマの2カラムのページ(※index.phpがたぶん2カラムになっています。テーマによっては3カラムの場合も・・・)のHTML構造等を確認して編集するといいです。(Firefox+FirebugあるいはGoogle Chromeなどのブラウザで表示して、HTML要素を確認するのが簡単です。)

・Google Chromeのデベロッパーツールについて
http://gihyo.jp/dev/feature/01/devtools/0001
※1ページ目と2ページ目を確認してください。


条件分岐タグを覚えておくと、ページによって異なる表示に出来るので(※ページごとに異なるサブメニューを表示したい場合など)便利です。

・条件分岐タグ
http://wpdocs.sourceforge.jp/Conditional_Tags

上記にあげたページ以外にも、テンプレートやテーマ作成に関するページだけでも、ドキュメントは一通り目を通してみてください。
※利用しているテーマで使用されている関数やテンプレートタグなどを確認する程度でもいいです。


rouge_2008さんのコメント
> それとも、トップページ用のテンプレートと、 > それ以外のページ用のテンプレートを > 分けた方がシンプルなのでしょうか? 上記質問に対する回答ですが、index.phpの他に、個別記事用のsingle.php、固定ページ用のpage.phpに分けた方が良いと思います。 この他に、カテゴリーアーカイブを用意するのでしたらcategory.phpもあった方がいいです。 wordpressでどのようにテンプレートを採用するのかは、回答に記載したドキュメントにもあります。 上位のテンプレートが見つからない場合は、index.phpを使用して表示しますが、index.phpにすべてのページ用の記述を追加すると編集が困難になります。 『トップページだけ、他のページとは大きく異なる形にしたい』という事ですので、テンプレートを分けて制作した方がいいと思います。

3 ● taroe
●33ポイント

>それとも、トップページ用のテンプレートと、
>それ以外のページ用のテンプレートを
>分けた方がシンプルなのでしょうか?

1カラムと2カラムの構造にもよりますが、
CSSのみで対応できるのなら、同じほうが良いでしょう。
逆に、CSSを切り替えるだけで両方共通になるようにするのがベターだと思います。

動的にcssファイルを切り替える
http://ja.forums.wordpress.org/topic/4101


全然別な構造のとき
どちらが良いかという話ですが、これには正解がありません。
質問を見ている限りでは、分けないほうがベターだと思います。

それ以前に、もともとWPのテンプレートは
あまりきれいな構造でもなんでもないですから。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ