質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

2回答

4193閲覧

【WordPress】既存の index.php を single.php と home.php に分けたい

O.HAYATO

総合スコア6

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2017/09/03 05:30

まず当方は WordPress および、HTML、CSS に関しては初心者です。今回はソシム刊行のワードプレスレッスンブックを参考にサイト構築をしておりましたが、この教材では index.php を用いる方法で指南されていました。ある程度の知識が身についた時点で、 single.php と home.php に分ける必要が出てきましたが、この教材ではそこまでの方法は載っていませんでしたので、ご質問します。

###既存のindex.php

<?php get_header(); ?> <div class="container"> <div class="contents"> <?php if( is_category() ): ?> <h1 class="archive-title"> <i class="fa fa-folder-open"></i> 「<?php single_cat_title(); ?>」に関する記事 </h1> <?php endif; ?> <?php if( is_month() ): ?> <h1 class="archive-title"> <i class="fa fa-clock-o"></i> <?php echo get_the_date( 'Y年n月' ); ?>に投稿した記事 </h1> <?php endif; ?> <?php if( is_tag() ): ?> <h1 class="archive-title"> <i class="fa fa-tag"></i> 「<?php single_cat_title(); ?>」に関する記事 </h1> <?php endif; ?> <?php if(have_posts()): while(have_posts()): the_post(); ?> <article <?php post_class(); ?>> <?php if( is_single() ): ?> <div class="kiji-tag"> <?php the_tags( '<ul><li>', '</li><li>', '</li></ul>' ); ?> </div> <h1><?php the_title(); ?></h1> <?php else: ?> <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1> <?php endif; ?> <div class="postinfo"> <time datetime="<?php echo get_the_date( 'Y-m-d' ) ?>"> <i class="fa fa-clock-o"></i> <?php echo get_the_date(); ?> </time> <span class="postcat"> <i class="fa fa-folder-open"></i> <?php the_category( ' - ' ); ?> </span> <span class="postcom"> <i class="fa fa-comment"></i> <a href="<?php comments_link(); ?>"> <?php comments_number( ' コメント ', ' コメント (1件) ', ' コメント (%件) ' ); ?> </a> </span> </div> <?php if( is_single() ): ?> <?php if( has_post_thumbnail() ): ?> <div class="catch"> <?php the_post_thumbnail( 'large' ); ?> <p class="wp-caption-text"> <?php echo get_post( get_post_thumbnail_id() )->post_excerpt; ?> </p> </div> <?php endif; ?> <div class="kiji"> <?php the_content(); ?> </div> <!-- kiji --> <div class="share"> <ul> <li><a href="https://twitter.com/intent/tweet?text=<?php echo urlencode( get_the_title() . ' - ' . get_bloginfo('name') ); ?>&amp;url=<?php echo urlencode( get_permalink() ); ?>&amp;via=acous0527_JP" onclick="window.open(this.href, 'SNS', 'width=500, height=300, menubar=no, toolbar=no, scrollbars=yes'); return false;" class="share-tw"> <i class="fa fa-twitter"></i> <span>Twitter</span> でシェア </a></li> <li><a href="http://www.facebook.com/share.php?u=<?php echo urlencode( get_permalink() ); ?>" onclick="window.open(this.href, 'SNS', 'width=500, height=500, menubar=no, toolbar=no, scrollbars=yes'); return false;" class="share-fb"> <i class="fa fa-facebook"></i> <span>Facebook</span> でシェア </a></li> <li><a href="https://plus.google.com/share?url=<?php echo urlencode( get_permalink() ); ?>" onclick="window.open(this.href, 'SNS', 'width=500, height=500, menubar=no, toolbar=no, scrollbars=yes'); return false;" class="share-gp"> <i class="fa fa-google-plus"></i> <span>Google+</span> でシェア </a></li> </ul> </div> <?php else: ?> <div class="excerpt"> <?php if( has_post_thumbnail() ): ?><p><?php the_post_thumbnail(); ?></p><?php endif; ?> <?php the_excerpt(); ?> <a class="more" href="<?php the_permalink(); ?>">続きを読む</a></p> </div> <?php endif; ?> <?php if( is_single() ): ?> <div class="pagenav"> <span class="old"> <?php previous_post_link( '%link', '<i class="fa fa-chevron-circle-left"></i> 前ページ' ); ?> </span> <span class="new"> <?php next_post_link( '%link', '次ページ <i class="fa fa-chevron-circle-right"></i>' ); ?> </span> </div> <?php endif; ?> <?php comments_template(); ?> </article> <?php endwhile; endif; ?> <?php if ( $wp_query->max_num_pages > 1 ): ?> <div class="pagenav"> <span class="old"> <?php next_posts_link( '<i class="fa fa-chevron-circle-left"></i> 古い記事 ' ); ?> </span> <span class="new"> <?php previous_posts_link( ' 新しい記事 <i class="fa fa-chevron-circle-right"></i>' ); ?> </span> </div> <?php endif; ?> </div> <!-- contents --> <div class="blogmenu"> <ul> <?php dynamic_sidebar(); ?> <li class="widget"> <ul> <li> <a href="<?php bloginfo( 'rss2_url' ); ?>"> <l class="fa fa-rss-square"></i> RSS</a> </li> </ul> </li> </ul> </div> </div> <!-- container --> <?php get_footer(); ?>

この中から、どの部分を single.php および、home.php に分ければ良いのでしょう? また、分けたあとの index.php は削除する形で構いませんか? 初歩の初歩でお恥ずかしい質問かもしれませんが、何卒、ご教授いただければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ソシムの参考本の内容がわからないので間違っているのかもしれませんが、phpは基本的にファイルを分割してindex.phpにインクルードさせるのが一般的です。
そうすることでテンプレート化することができるので、参考本にはこのやり方が書いてあるんだろうと推測します!

多分、参考本で記載されていることはindex.phpの中身を全部single.phpに複製する作業だと思います。
今作成したindex.phpはhome.phpとsingle.phpの土台なのでそのまま複製するだけで大丈夫です。
home.phpはTOPページ用のテンプレート、single.phpは投稿用のページです。(index.phpは削除しなくて大丈夫です)

参考記事、以下の順番で実践してみてください↓

index.phpをコピーしてhome.phpを作成
http://webdesign.practice.jp/wordpress-theme8-get_posts
home.phpをコピーしてsingle.phpを作成。
http://webdesign.practice.jp/wordpress-theme9-wordpress-loop

投稿2017/09/03 06:45

Higemura

総合スコア274

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

index.phpをコピーしてsingle.phpとhome.phpを作れば良いです。

以下を参考にしてください。

テンプレート階層
https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E9%9A%8E%E5%B1%A4

投稿2017/09/03 06:25

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問