WordPress オリジナルテーマ作成

目次

作成するフォルダとファイル

Themesにオリジナルテーマのフォルダ作成

フォルダの中に以下ファイルを作成

index.php(必須)

style.css(必須)

functions.php

front-page.php

page.php

single.php

404.php

archive.php

js/common.js


style.cssへの記述(必須)

style.cssに名前などを記述。

詳細はここから

最低限Theme Nameを記入。

/*
Theme Name: My Original theme
*/

index.phpに記述

h1タグを追加し読み込みの確認

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>WordPress</title>
</head>
<body>
  <h1>Hello WordPress!</h1>
</body>
</html>

新規に作成したテーマに切り替えて確認

【外観】⇨【テーマ】⇨【作成したオリジナルテーマ】

index.phpに必要なアクションを記述

<?php wp_head(); ?>
</head>

functions.phpでcssを読み込む

(階層 ⇨ テーマ直下に index.php, style.css, functions.php)

<?php

function my_styles() {
  wp_enqueue_style('my-style', get_theme_file_uri('/style.css'));
}
add_action( 'wp_enqueue_scripts', 'my_styles' );

functions.phpでjs読み込み

function my_scripts()
{
  wp_enqueue_script(
    'common-script',
    get_theme_file_uri('/js/common.js'),
    // 既存のjquery読み込み
    array('jquery'),
    // バージョン
    1.0,
    // body終了タグ前に挿入
    true
  );
}
add_action('wp_enqueue_scripts', 'my_scripts');

jQuery使う

jsファイルに記述し検証で確認

jQuery(function(){
  console.log(1111)
})

headとbodyの一部変更

charsetとtitle, bodyを変更

<head>
  <!-- 引数にcharsetを設置するとUTF-8が指定される -->
  <meta charset="<?php bloginfo('charset'); ?>" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title><?php bloginfo('name'); wp_title('|', true, 'left'); ?></title>
  <?php wp_head(); ?>
</head>

<!-- ページ毎にclassが付与される -->
<body <?php body_class(); ?>>

Thumbnailを使う

functions.php

// アイキャッチ画像を使えるようにする
add_theme_support('post-thumbnails');

ページ内への記述

<?php if(have_posts()):
  while(have_posts()): the_post(); ?>
    <?php if (has_post_thumbnail()) : ?>
        <?php the_post_thumbnail('thumbnail'); ?>
    <?php else : ?>
        <img src="<?php bloginfo('template_url'); ?>/img/noimage.jpg" alt="画像未設定" />
    <?php endif ; ?>
<?php endwhile; endif; ?>

最新の投稿を表示


 <?php
 $args = array(
   'posts_per_page' => 3 // 表示件数
 );
 $posts = get_posts($args);

  foreach ($posts as $post) : // ループの開始
   setup_postdata($post); // 記事データの取得
 ?>
   <div class="news">
     // 投稿日の取得
     <p><?php echo get_the_date(); ?></p>
          // 記事のリンク取得とタイトルの取得
     <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
   </div>

 <?php
 endforeach; // ループの終了
 ?>
        

よく使うテンプレートタグ

the_title()

have_posts()

the_post() //最新の投稿を取得

よく使うパターン

最新の投稿記事を取得、タイトル表示

<?php if (have_posts()) : ?>
    <?php while (have_post()) : ?>
      <?php the_post(); ?>
      <h2><?php the_title(); ?></h2>
    <?php endwhile; ?>
  <?php else : ?>
    <h3>投稿記事はありません</h3>
  <?php endif; ?>

カテゴリーとタグ

カテゴリーは階層構造にできる

タグは同列で扱われる

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次