PR

【やってみた】WordPressのテーマ自作(03.記事一覧の取得)

今回の記事は、STEP4の「WordPress関数に書き直す」の「03.記事一覧の取得(ループ処理)」の解説となります。ランゲージ属性の設定、文字コード、タイトルタグの設定、ファビコンの設定、ヘッダータイトルの表示、背景画像の挿入、記事一覧の取得(ループ処理)を行います。

テーマ自作の流れ
テーマ自作の流れ
  • STEP1:
    静的サイトの作成

    ワイヤーフレームでサイトをデザインして、HTMLとCSSで静的サイトを作成します。index.htmlとstyle.cssでサイトを作成します。

  • STEP2:
    開発環境構築

    自分のパソコン内部だけで開発と動作テストが行えるWordPress専用の環境構築ソフト、HTML、CSS、PHPの編集の為のソースコードエディタ、そしてHTMLとCSSで構築された静的サイトを準備します。

  • STEP3:
    テーマの有効化

    自作テーマを有効化する為に、index.htmlをindex.phpに書き換え、style.cssを作成してWordPressにアップロードして認識してもらいます。

  • STEP4:
    WordPress関数に書き直す

    テーマとして認識できましたら、index.phpの内容をヘッダー、フッター、サイドバー等コンテンツごとに分割したり、アイキャッチ画像やナビゲーションメニュー等を設定する為に、WordPress関数に書き直していきます。

  • STEP5:
    サーバーにアップロード

    サーバーにアップしてWebに公開します。公開後、プラグインなどで必要な機能を追加したり、必要なカスタマイズを行います。

スポンサーリンク

ローカル開発環境の起動

WordPressの起動

解説動画は、こちら

サイトの選択

「mysite」にローカル開発環境を構築していますので、「mysite」を選択します。

サイトの起動1(Local)

「Start site」のクリック

サイトの起動2(Local)

「mysite」の起動

「1 site running」となり、「mysite」が起動しました。

サイトの起動3(Local)

処理の選択

処理の選択(Local)
WordPressにログイン
WordPressにログイン(Local)
サイトの表示
サイトの表示1(WordPress)
サイトの表示2(WordPress)
フォルダーにアクセス
フォルダーにアクセス(Local)

ソースエディター(VSC)の起動

「Go to site folder」のクリック

ソースエディターの起動1(VSC)

VSCの起動

app→piblic→wc-content→themes→myblogで右クリックからVSCを起動します。

ソースエディターの起動2(VSC)
スポンサーリンク

トップページの編集

編集の準備

管理画面から、「一般設定」のサイトのタイトル、キャッチフレーズを設定します。

編集の準備(WordPress)

head要素の編集

lang属性の設定

ダウンロードしてきたStartBootstrapのファイルが英語で作られていますので、”en”となっています。日本語を扱うときは”ja”と記述することが必要ですが、WordPressのテーマの場合は、設定によって変わりますので、以下のテンプレートタグを記述します。

lang属性の設定(index.php、VSC)

サイトを再読み込みして、ソースを確認すると、”ja”と出力されています。

ソースの確認(lang属性、WordPress)

文字コードの設定

文字コードの設定(index.php、VSC)

サイトを再読み込みして、ソースを確認すると、”utf-8″と出力されています。

ソースの確認(文字コード、WordPress)

タイトルタグの設定

titleタグに記載されている内容が表示されますが、固定の文字列で記述していますので、別のページにアクセスしてもタイトルは変わりません。このままではGoogleの検索で正しく検索されません。

タイトルタグの設定(index.php、VSC)

タイトルタグは タグ内に記述しなくても、functions.php に以下を記述すれば、WordPress がページ種類に応じてタイトルタグを自動的に表示(挿入)してくれます。

タイトルタグの記述要領
functions.phpの作成

新しいファイルとしてfunctions.phpを作成します。

functions.phpの作成(VSC)
コードの設定
functions.phpの設定(タイトルタグ、VSC)

タイトルタグの出力

<title>Blog Home = Start Bootstrap Template</title>を削除してソースを確認すると<title>~</title>が出力されています。

タイトルタグの出力(index.php、VSC)
ソースの確認(タイトルタグ、WordPress)

ファビコンの設定

favicon画像を自身のサイトの画像に変更します。画像を用意して、imgフォルダに格納します。(favicon.icoという名前の32x32pxの画像を用意しました。)

ファビコンの設定(index.php、VSC)

登録したファビコン画像となりました。

ファビコン設定の確認(WordPress)

ヘッダータイトルの表示

「Welcom to Blog Home」と表示されている箇所にサイトのタイトルとキャッチフレーズを表示します。

ヘッダータイトルの表示(WordPress)

「bloginfo」というテンプレートタグを使い、次の様に変更します。

index.phpの変更(ヘッダータイトルの表示、VSC)
[ コードの解説 ]

テンプレートタグ/bloginfoは、WordPress管理画面の一般設定に設定した「サイトのタイトル」、「キッチフレーズ」を表示します。

  • ‘name’:管理画面の「設定/一般」で設定された「サイトのタイトル」を表示します。
  • ‘description:管理画面の「設定/一般」で設定された「キャッチフレーズ」を表示します。

背景画像の挿入

サイトのタイトルとキャッチフレーズを表示している背景に画像を挿入します。

背景画像の挿入前(WordPress)

index.phpの変更

コードの記述
index.phpの変更(コードの記述、VSC)
文字色の変更

文字が見にくいので、whiteとします。

index.phpの変更(文字色の変更、VSC)
スタイルの調整

サイトタイトルの文字を装飾する為に、クラス名(hname)を付けて、style.cssでスタイル調整をします。

index.phpの変更(スタイルの調整、VSC)
style.cssの追加
/* サイトタイトル文字の装飾 */
.hname {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    color: rgba(255, 255, 255, 1);
    font-size: 50px;
    text-shadow: 4px 0px 3px rgba(38,22,242,0.8);
    font-weight: bold;
    }

背景画像の確認

背景画像の挿入が完成しました。

背景画像の確認(WorePress)

記事一覧の取得

記事一覧取得の準備

今、表示されている記事は、プログラムに記述された内容がそのまま表示されています。これを、実際の投稿記事を読み込んで表示する様にします。

記事一覧の確認

記事一覧の確認(WordPress)

記事の投稿

ループ処理を行う前に、まず結果を確認できる様に5~10件記事を投稿しておきます。

記事の投稿(WordPress)

記事一覧の処理方法

ループ処理を使って記事一覧を取得します。ループの基本的な記載方法は、次の通りです。

ループ処理の記載方法
処理の説明

<?php if (have_posts()) : ?>~<?php endif; ?>で表示できる記事があるか判断します。記事がなければ、<?php else : ?>~<?php endif; ?>内が実行されます。
記事があれば、<?php while (have_posts()) : the_post(); ?>~<?php endwhile; ?>で、最初から順に記事があるか調べて、繰り返し取得していきます。

  • While構文:処理を繰り返す構文です。
  • have_posts関数:次の記事があるか調べます。
    (「have_posts()」は「have_posts() == true」のこと)
  • the_post関数:次の記事を取得する

注意:
whileは条件がtrueの間は繰り返してしまうので、無限ループしてしまいますので、必ず最初はtrueで最後にはfalseとなる条件を設定します。

index.phpの変更(記事一覧、VSC)

記事一覧の表示(ループ処理)

次のような内容が6回繰り返して記載されています。

ループ処理の記載状況

1行2列が1つの括りとなっています

記事一覧の表示1(index.php、VSC)

index.phpの変更

次のAとBの括りで横2列に表示しています。

ループ処理を記述しますので、A、Bで同じ内容ですからBを削除します。

記事一覧の表示2(index.php、VSC)

次に、記事の中身をWordpress関数をあてていきます。

記事一覧の表示3(index.php、VSC)

あとの繰り返し処理は削除します。

記事一覧の表示4(index.php、VSC)

サイトの確認

再読み込みをして、サイトを確認します。アイキャッチ画像の設定は行っていませんので、phpに記載された画像が全て表示されていますが、記事のタイトル、抜粋記事などは投稿記事の内容が正しく表示されています。

サイトの確認(記事一覧、WordPress)

index.phpの修正

投稿記事の内容は正しく表示されていますが、サイドバーが下に落ちています。

index.phpの修正1

これは、<div class=”col-lg-8″>の中にページネーションが含まれてない為です。</div>の位置を変えて直りました。

index.phpの修正2