0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WordPressでテーマを新規作成

Posted at

WordPressでテーマを新規作成する方法のメモです。

フォルダを作成

WordPressフォルダの中の
「wp-content」の中の「themes」にフォルダを作る

image.png

image.png

image.png

image.png

index.php と style.css を作る

image.png

とりあえず、中身は空の状態でファイルを作りました

WordPressで「外観」を確認。

image.png

testoneが認識されてます

style.cssにヘッダーコメントを記述する

style.css
/*
Theme Name: わーどぷれすのてーまてすと
Author: BlueMountain
Version: 1.0
Description: WordPressのテスト用テーマです
*/

image.png

image.png

テーマを適用する

適用する前に現在の画面を確認する

image.png

Twenty Twenty-Twoというテーマが有効になっている状態。
image.png

新規作成したテーマを有効化する。
image.png

再び、サイトの画面を確認する。

image.png

真っ白けの状態になっている。
 →現時点では、これで正解。

index.phpに何か書いてみる。

index.php
index

image.png

ベースとなるテーマを探す

Start Bootstrapというサイト
https://startbootstrap.com/

image.png

Clean Blog というThemeを今回ダウンロードしてみる。

image.png

ダウンロードしたThemeを適用していく。

ダウンロードしたThemeの中のindex.htmlの中身をindex.phpにコピーする。

image.png

image.png

この状態で、テストサイトを再度確認すると、

image.png

Clean Blogのページが表示されました。

css, img, jsのフォルダをコピーする。

image.png

image.png

テストサイトを再度確認すると、

image.png

残念ながら、まだCSSなどは効いていません。

投稿のタイトルを表示する

Man must explore, and this is exploration at its greatest
と表示されている投稿タイトルは、現在は固定値が表示されています。

index.php
...
<!-- Main Content-->
<div class="container px-4 px-lg-5">
    <div class="row gx-4 gx-lg-5 justify-content-center">
        <div class="col-md-10 col-lg-8 col-xl-7">
            <!-- Post preview-->
            <div class="post-preview">
                <a href="post.html">
                    <h2 class="post-title">Man must explore, and this is exploration at its greatest</h2>
                    <h3 class="post-subtitle">Problems look mighty small from 150 miles up</h3>

管理画面で投稿を新規作成します。

image.png

image.png

テストサイトを再度確認すると、

image.png

残念ながら、反映されていません。

the_title()というテンプレートタグを使います。

index.php
...
<!-- Main Content-->
<div class="container px-4 px-lg-5">
    <div class="row gx-4 gx-lg-5 justify-content-center">
        <div class="col-md-10 col-lg-8 col-xl-7">
            <!-- Post preview-->
            <div class="post-preview">
                <a href="post.html">
                    <h2 class="post-title"><?php the_title() ?></h2>
                    <h3 class="post-subtitle">Problems look mighty small from 150 miles up</h3>

image.png

「投稿テスト」というタイトルが表示されました。

お約束のテンプレートタグ。wp_head() wp_footer()

index.phpの

タグの最後に
<?php wp_head(); ?>

を追加する。
これでWordPressに必要なファイル群が読み込まれます。

index.phpの

タグの最後に
<?php wp_footer(); ?>

を追加する。

投稿日時を表示する。wp_time()

index.php
on September 24, 2022
↓
on <?php the_time( "Y年n月j日 l" ); ?>

image.png

本文、著者を表示する。wp_content() wp_author() wp_pos()

<!-- Main Content-->
<div class="container px-4 px-lg-5">
    <div class="row gx-4 gx-lg-5 justify-content-center">
        <div class="col-md-10 col-lg-8 col-xl-7">
          <?php the_post(); ?>
            <!-- Post preview-->
            <div class="post-preview">
                <a href="post.html">
                    <h2 class="post-title">
                    <?php the_title(); ?>
                    </h2>
                    <h3 class="post-subtitle">
                      <?php the_content(); ?>
                    </h3>
                </a>
                <p class="post-meta">
                    Posted by
                    <?php the_author(); ?>
                    on <?php the_time( "Y年n月j日 l" ); ?>
                </p>
            </div>

image.png

CSSを適用する

index.phpの

内のCSS読込を編集する
<link href="css/styles.css" rel="stylesheet" /><link href="<?php echo get_template_directory_uri(); ?>/css/styles.css" rel="stylesheet" />

image.png

このように、パスを相対パスで参照している箇所を上記のように書き直します。

image.png

タグの余計な要素を削除する

        <meta name="description" content="" />
        <meta name="author" content="" />
        <title>Clean Blog - Start Bootstrap Theme</title>

ブログタイトル bloginfo('name')

<a class="navbar-brand" href="index.html">Start Bootstrap</a><a class="navbar-brand" href="index.html"><?php bloginfo('name'); ?></a>

トップページのURL取得。 home_url()

<a class="navbar-brand" href="index.html"><?php bloginfo('name'); ?></a><a class="navbar-brand" href="<?php echo home_url(); ?>"><?php bloginfo('name'); ?></a>

投稿をループで表示する。 while

<?php the_post(); ?>
  <!-- Post preview-->
  <div class="post-preview">
      <a href="post.html">
          <h2 class="post-title">
          <?php the_title(); ?>
          </h2>
          <h3 class="post-subtitle">
            <?php the_content(); ?>
          </h3>
      </a>
      <p class="post-meta">
          Posted by
          <?php the_author(); ?>
          on <?php the_time( "Y年n月j日 l" ); ?>
      </p>
  </div>
  <!-- Divider-->
  <hr class="my-4" />

<?php while (have_posts()): the_post(); ?>
  <!-- Post preview-->
  <div class="post-preview">
      <a href="post.html">
          <h2 class="post-title">
          <?php the_title(); ?>
          </h2>
          <h3 class="post-subtitle">
            <?php the_content(); ?>
          </h3>
      </a>
      <p class="post-meta">
          Posted by
          <?php the_author(); ?>
          on <?php the_time( "Y年n月j日 l" ); ?>
      </p>
  </div>
  <!-- Divider-->
  <hr class="my-4" />
<?php endwhile; ?>

image.png

前のページ、次のページ。 previous_posts_link() next_posts_link()

<?php previous_posts_link(); ?>
<?php next_posts_link(); ?>

image.png

ページネーション。 paginate_links()

<?php echo paginate_links(); ?>

image.png

記事のURLを取得。 the_permalink())

<a href="post.html"><a href="<?php the_permalink(); ?>">

記事のページのテンプレート

single.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

image.png

記事のページを開く

image.png

Start Bootstrapのダウンロードファイルの中の post.html の中身を single.phpに貼り付け。

image.png

index.phpでやったことを再び行う。URLの参照など。

image.png

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?