MENU
Wordpress制作を学ぶためのブログ
Nino-Blog
Nino-Blog
  1. ホーム
  2. wordpress
  3. テーマ作り
  4. 【_s(underscores)】index.phpの内容を理解する

【_s(underscores)】index.phpの内容を理解する

2025 1/28
wordpress テーマ作り
2021年2月15日2025年1月28日

皆さんこんにちはニノです。

今日は次回のトップページコンテンツ部分の改修に向けindex.phpを解説していきたいと思います。

では早速見ていきましょう。

\ NinoBlogのサービス紹介です! /

実績100件以上!集客できるホームページ制作します SEO対策とデザインで集客力UP!更新可能なホームページを!
目次

_s(underscores) index.php

  1. <?php get_header(); ?>
  2.     <main id="primary" class="site-main">
  3.         <?php
  4.         if ( have_posts() ) :
  5.             if ( is_home() && ! is_front_page() ) :
  6.                 ?>
  7.                 <header>
  8.                     <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
  9.                 </header>
  10.                 <?php
  11.             endif;
  12.             while ( have_posts() ) :
  13.                 the_post();
  14.                 get_template_part( 'template-parts/content', get_post_type() );
  15.             endwhile;
  16.             the_posts_navigation();
  17.         else :
  18.             get_template_part( 'template-parts/content', 'none' );
  19.         endif;
  20.         ?>
  21.     </main><!-- #main -->
  22. <?php
  23. get_sidebar();
  24. get_footer();

上のコードで全文です。

とてもすっきりしていてカスタマイズしやすそうですね。

コード解説

1行目

  1. <?php get_header(); ?>

テーマディレクトリの header.php テンプレートファイルを読み込むための関数です。

get_header(name);とすることで
header-{name}.phpを読み込むこともできます。

ページごとでヘッダーのレイアウトや機能などを変えたい時に使用します。

6行目

  • if ( have_posts() ) :

これはif文です。

もし(条件):

カッコの中はhave_post()つまり

「もし、投稿があれば」という意味です。

投稿があれば、29行目「endif;」までの内容が実行されます。

8行目

  • if ( is_home() && ! is_front_page() ) :

6行目で投稿があったならば実行されるif文です。
if(条件):

今回の条件はis_home() && ! is_front_page()
is_home() → メインブログページが表示されている場合。

! is_front_page() → サイトのフロントページが表示されていない場合。

if文内の!(ビックリマーク)の意味はfalsu(否定)であればという意味です。

&&は〇〇かつ〇〇の様に複数の条件がを指定する場合に使用します。

メインブログページが表示されている場合かつサイトのフロントページが表示されていない場合に14行目までの内容を実行します。

10行目〜12行目

  • <header>
  •    <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
  • </header>

投稿部分のヘッダーが作成されます。

11行目

  • <?php single_post_title(); ?>

個別記事ページでループ外に記事のタイトルを出力する関数です。
ヘッダーの中身はh1タグで出力される記事のタイトルということです。

16行目

  • while ( have_posts() ) : the_post();

ループ文です。
カッコの中は条件
が満たされていたら一件ずつ取得
今回ですと投稿があれば繰り返し取得するという意味になります。

21行目の「endwhile;」までを繰り返します。(このテーマでは19行目の内容を繰り返します)

19行目

  • get_template_part( 'template-parts/content', get_post_type() );

ヘッダー、サイドバー、フッターを除くテンプレートパーツを読み込むための関数です。
カッコ内のファイルを読み込みます。

ここではカッコの中の「’template-parts/content’, get_post_type()」を読み込みます。
template-partsディレクトリのcontent.phpを読み込んでいます。

、(カンマ)の後に続くget_post_type()は指定した投稿または現在の投稿の、投稿タイプを取得します。

content.phpの内容解説は下の記事をご覧ください。

【_s(underscores)】content.phpの内容を解説

23行目

  • the_posts_navigation();

これはアーカイブページ向けのナビゲーションを取得する関数です。

上の図の様な記事のページャーの役割をしてくれます。
(過去の記事、新しい記事の部分です。)

25行目

  • else :

これはif文の条件がfalseだった場合の処理をする場合のものです。

今回であれば6行目「if(have_post();)」で記事がない場合ということです。

27行目

  • get_template_part( 'template-parts/content', 'none' );

記事がなかった場合はtemplate-partsディレクトリのcontent-none.phpを読み込んでくださいという内容です。

36行目

  • get_sideber();

この関数はsideber.phpを呼び出しています。

sideber.phpの内容は以下の記事を見てください。

【_s(underscores)】sideber.phpの内容を解説

37行目

  • get_footer();

この関数はfooter.phpを呼び出しています。

footer.phpの内容は以下の記事をご覧ください。

【_s(underscores)】footer.phpの内容を解説

まとめ

index.phpの内容をザックリとまとめると

ヘッダーを出力(header.phpの内容を出力)
↓
メインブログページが表示されている場合かつサイトのフロントページが表示されていない場合にコンテンツ部分のヘッダーを作り出しその中に記事のタイトルをh1で出力
↓
投稿があれば記事の内容を一件ずつ取り出しそれをcontent.phpで出力
なければ、content-none.phpで記事がなかったときの表示を
↓
記事の最後に「過去の記事」「新しい記事」のページネーションを出力
↓
サイドバーを出力(sideber.phpの内容を出力)
↓
フッターを出力(footer.phpの内容を出力)

以上が_s(underscores)のindex.phpに書かれているコードの概要です。

またindex.phpの改修も行っていきますので是非今後もご覧いただけたらと思います。

最後まで読んでいただきありがとうございました。

また次回の記事でお会いしましょう!!

Nino-BLOGのサービス紹介

実績100件以上!集客できるホームページ制作します SEO対策とデザインで集客力UP!更新可能なホームページを!
Wordpressの修正・カスタマイズを代行します 画像や文章の追加・修正・ページの追加・アップデートなど
wordpress テーマ作り
二宮 旬平
WEBデザイナー
はじめましてWEBデザイナーの二宮と申します。
このサイトでは、Wordpressについて実際に手を動かしながら学べるよう日々投稿を行なっております。
HP制作実績はこちらから
キーワード検索
人気記事
  • 【完全解説】WordPressでヘッダーを自作してみよう!(コーポレートサイト編)
    5388
  • 【コピペOK】ContactFrom7でお問い合わせフォームを設置する方法
    5071
  • 【超簡単】ContactForm7でお問い合わせ確認画面を設置してみよう
    4252
  • 【自作テーマ開発】_s(underscores)でオリジナルブログサイトを作ろう!
    2377
  • 【WordPress自作テーマ開発③】トップページを作ろう
    2292
カテゴリー
  • SEO対策
  • wordpress
    • テーマ作り
  • カスタマイズ
  • ニュース
  • ライティング
  • ライフハック
  • 副業
  • 未分類
  • 資格
アーカイブ
  • 2023年7月 (3)
  • 2023年2月 (3)
  • 2022年4月 (1)
  • 2022年2月 (1)
  • 2022年1月 (7)
  • 2021年10月 (1)
  • 2021年9月 (3)
  • 2021年8月 (8)
  • 2021年7月 (2)
  • 2021年2月 (9)
  • 2021年1月 (5)
↓Nino-blogのサービス紹介
実績100件以上!集客できるホームページ制作します SEO対策とデザインで集客力UP!更新可能なホームページを!
目次
  • HOME
  • プライバシーポリシー
  • 免責事項
  • お問い合わせ

© 2020 nino-blog

目次