趣味の備忘録「Hobby Log」

日々の活動や記録を、シンプルに。自由に。

WordPress-manual

1. テーマフォルダおよびファイル構造

WordPressのテーマディレクトリ(例: wp-content/themes/hobbylog/)内に配置するファイル構成です。

wp-content/themes/hobbylog/ ├── style.css ← テーマの基本情報定義ファイル(必須) ├── functions.php ← CSS/JSの自動読み込み&機能設定(必須) ├── header.php ← 共通ヘッダー(<head>〜<header>) ├── footer.php ← 共通フッター(<footer>〜</body>) ├── page.php ← 標準の固定ページ用テンプレート ├── page-bookmark.php ← マニュアル等で使う個別固定ページ用テンプレート └── css/ ├── layout.css ← 共通レイアウトCSS ├── sample-for-test.css ← ページ基本スタイルCSS └── bookmark-setting.css ← 拡張スタイルCSS

2. 移行のステップと各ファイルの役割

Step 1: テーマ基本定義(style.css)の作成

WordPressにテーマとして認識させるため、テーマフォルダ直下に style.css を作成し、冒頭にテーマ情報を記述します。

/* Theme Name: HobbyLog Theme Author: Your Name Description: 静的HTML構成から移植したオリジナル自作テーマ Version: 1.0.0 */
Step 2: CSS・JSの読み込み指定(functions.php)

<link rel="stylesheet"> をHTMLに直書きせず、functions.php からWordPressに自動登録・一括読み込みさせます。

<?php function hobbylog_enqueue_scripts() { // Google Fonts 読み込み wp_enqueue_style( ‘google-fonts’, ‘https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap’, array(), null );// 既存CSSファイルの読み込み wp_enqueue_style( ‘hobbylog-layout’, get_template_directory_uri() . ‘/css/layout.css’, array(), ‘1.0.0’ ); wp_enqueue_style( ‘hobbylog-sample’, get_template_directory_uri() . ‘/css/sample-for-test.css’, array(‘hobbylog-layout’), ‘1.0.0’ ); wp_enqueue_style( ‘hobbylog-bookmark’, get_template_directory_uri() . ‘/css/bookmark-setting.css’, array(‘hobbylog-sample’), ‘1.0.0’ ); } add_action( ‘wp_enqueue_scripts’, ‘hobbylog_enqueue_scripts’ );// 管理画面の「外観 > メニュー」機能を有効化 function hobbylog_setup() { register_nav_menus( array( ‘global-menu’ => ‘グローバルナビゲーション’, ) ); } add_action( ‘after_setup_theme’, ‘hobbylog_setup’ );
Step 3: 共通ヘッダー(header.php)の作成

header.js による動的描画を廃止し、WordPress標準の wp_nav_menu() に置き換えます。<head> 内に <?php wp_head(); ?> を配置するのが重要です。

<!DOCTYPE html> <html <?php language_attributes(); ?>> <head> <meta charset=”<?php bloginfo( ‘charset’ ); ?>”> <meta name=”viewport” content=”width=device-width, initial-scale=1.0″> <?php wp_head(); ?> <!– CSSやメタタグが自動挿入されます –> </head> <body <?php body_class(); ?>> <?php wp_body_open(); ?><header> <div class=”main-nav”> <div class=”logo”> <a href=”<?php echo esc_url( home_url( ‘/’ ) ); ?>” style=”color: inherit; text-decoration: none;”>HobbyLog</a> </div> <nav> <?php wp_nav_menu( array( ‘theme_location’ => ‘global-menu’, ‘container’ => false, ‘menu_class’ => ‘nav-links’, ‘fallback_cb’ => false, ) ); ?> </nav> </div> </header>
Step 4: 共通フッター(footer.php)の作成

footer.js の内容をPHPに移植します。閉じ </body> の直前には必ず <?php wp_footer(); ?> を記述します。

<footer> <div class=”container”> <p class=”copyright”>&copy; <?php echo date(‘Y’); ?> HobbyLog Project. All Rights Reserved.</p> <p class=”powered”>Powered by Works & My Coding Passion</p> </div> </footer><?php wp_footer(); ?> <!– スクリプト類が自動挿入されます –> </body> </html>
Step 5: 固定ページテンプレート(page.php)の作成

管理画面で作成したタイトル(the_title())や本文(the_content())が自動出力されるように組み込みます。

<?php get_header(); ?><div class=”page-header”> <div class=”container”> <h1><?php the_title(); ?></h1> <p>サブページの説明文テキスト</p> </div> </div><main class=”container”> <div class=”content-area”> <?php while ( have_posts() ) : the_post(); the_content(); // 管理画面で入力した「HTML本文」が出力される領域 endwhile; ?> </div> </main><?php get_footer(); ?>

3. WordPress管理画面へのコード入力範囲

自作テーマ化完了後、各固定ページの編集画面(カスタムHTMLブロック)には、カード枠内の「本文コンテンツのみ」を記述すれば良くなります。

パーツ要素配置・記述場所理由・メリット
<head> / メタタグ / CSS linkheader.php / functions.php全ページ共通管理され、個別ページでの記述が不要になるため
<header> ナビゲーションheader.phpWP管理画面「外観 > メニュー」から一括管理できるため
メイン本文(<section> 等)WordPress 固定ページ編集画面デザイン枠を崩さずにページごとの記事作成に集中できるため
<footer> 著作権表示footer.phpコピーライト年号などを自動で最新化・全ページ共通化できるため
💡 ポイント: JSによる要素挿入からの脱却
静的HTML運用時に header.js や footer.js で行っていたヘッダー・フッターの共通化処理は、WordPressの get_header() / get_footer() に完全に置き換わります。これにより表示遅延がなくなり、SEO上も有利になります。