WordPressのテーマの基本構造を理解する
コードの執筆を始める前に、WordPressのテーマの構成を理解することが非常に重要です。テーマとは本質的にはフォルダであり、その中には特定の形式で書かれた一連のファイルが含まれており、これらのファイルがウェブサイトの外観と機能を決定します。最も基本的なテーマでは、たった2つのファイルしか必要ありません:style.cssとindex.php。
Core Style Sheet File
style.cssファイルはCSSスタイルを保存する場所に過ぎませんが、実際にはテーマの「身分証明書」のようなものです。このファイルの冒頭には必ず特定のコメントブロック、つまり「スタイルシートヘッダー」を含める必要があります。これにより、WordPressシステムにテーマの名前、作者、説明、バージョンなどのメタ情報を宣言します。このヘッダーがなければ、WordPressはそのフォルダーが有効なテーマであると認識できません。
最も基本的なものstyle.cssファイルヘッダの例は以下の通りです:
推薦図書 WordPressテーマ開発:ゼロから始めて、あなたの最初のカスタムテーマを作成しましょう。
/*
Theme Name: 我的第一个主题
Theme URI: https://example.com/my-first-theme
Author: 你的名字
Author URI: https://example.com
Description: 这是一个用于学习的自定义WordPress主题。
Version: 1.0
License: GPL v2 or later
Text Domain: my-first-theme
*/ コアテンプレートファイル
index.phpこれはテーマのデフォルトテンプレートファイルであり、最も重要なファイルの一つです。WordPressが現在のリクエストされたページに対してより具体的なテンプレートファイルを見つけることができない場合、このデフォルトテンプレートが使用されます。index.phpそれはデータベースからコンテンツを取得し、そのコンテンツをHTMLの構造に変換してブラウザに表示します。最もシンプルな例としては…index.phpそのファイルには、基本的なHTMLの骨組みとWordPressのコア関数を呼び出すPHPコードのみが含まれている可能性があります。
これら2つのコアファイルに加えて、機能が完全なテーマには通常、以下のものも含まれます:
* header.phpウェブサイトのヘッダー部分です。
* footer.phpウェブサイトのフッター部分。
* functions.phpテーマ機能の強化、登録メニュー、サイドバーなどに使用されます。
* page.php:単一のページを表示するために使用されます。
* single.php:単一のブログ記事を表示するために使用されます。
ローカル開発環境の構築と最初のテーマの作成
実際のサーバー上で直接テーマを開発することは危険で非効率的です。最善の方法は、ローカルコンピューター上にオンライン環境に似た開発環境を構築することです。XAMPP、MAMP、Local by Flywheel、DevKinstaなどのツールを使用すると、PHP、MySQL、ウェブサーバーをワンクリックでインストールできます。
テーマフォルダーとファイルを作成する
まず、ローカルのWordPressのインストールディレクトリ内で、以下のファイルを探してください:wp-content/themes/パスです。ここに新しいフォルダを作成してください。フォルダの名前は、あなたのテーマの識別子として使用します。小文字とハイフン(-)を使用することをお勧めします。例えば:my-first-theme。
その後、そのフォルダ内に前述の2つのコアファイルを作成してください。style.cssとindex.php上記のスタイルシートのヘッダーコードをコピーしてください。style.cssその内容をコピーして、自分の情報に置き換えてください。
推薦図書 WordPressテーマ開発入門:ゼロから初めてのウェブサイトスキンを作成する。
基本的なテンプレートファイルを作成する
次に、index.php以下に、WordPressに必要なテンプレートタグを含む最も基本的なコードを記述します。
<!DOCTYPE html>
<html no numeric noise key 1011>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body no numeric noise key 1008>
<header>
<h1><a href="/ja/</?php echo esc_url( home_url( '/' ) ); ?>">ブログの名前を表示するには?php bloginfo( 'name' ); ?></a></h1>
<p>ブログの説明文を表示するには?php bloginfo( 'description' ); ?></p>
</header>
<main>
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
the_title( '<h2>', '</h2>' );
the_content();
endwhile;
else :
_e( '抱歉,没有找到任何内容。', 'my-first-theme' );
endif;
?>
</main>
<footer>
<p>©</p>
</footer>
</body>
</html> 上記の手順を完了したら、ローカルのWordPress管理画面にアクセスし、「外観」→「テーマ」のページに移動してください。そこには「私の最初のテーマ」という名前のテーマが表示されているはずです。そのテーマを有効にしてから、ウェブサイトのホームページを開いてみてください。すると、記事のタイトルと内容が表示されるはずです。
テンプレートの階層構造とコア関数を活用する
WordPressは、異なるページリクエスト(ホームページ、記事ページ、カテゴリページなど)にどのテンプレートファイルを使用するかを決定するための「テンプレート階層」システムを採用しています。このシステムを理解することは、テーマ開発において非常に重要です。
テンプレートの読み込み順序を理解すること
例えば、ブログ記事にアクセスしたとき、WordPressは以下の順序でテンプレートファイルを探します:single-post.php -> single.php -> singular.php -> index.phpそれは見つかった最初のファイルを使用します。このような設計により、異なるタイプのページに対して高度にカスタマイズされたレイアウトを作成することができます。index.php最終的な保証手段として。
ループとテンプレートタグを使用する
はい。index.phpあなたが見たそのPHPコードが有名な「WordPressのループ(The Loop)」です。これはすべてのテンプレートファイルの中核であり、現在のページに表示されるべき記事やコンテンツを順番に処理し、出力するために使用されます。
ループ内のthe_title()、the_content()、the_excerpt()これらの関数は「テンプレートタグ」と呼ばれています。その役割は、対応する記事データを安全に出力することです。もう一つの重要な関数は…the_post()それは各ループイテレーションの際に呼び出され、グローバル変数を使用するための処理を行います。$post対象を現在の記事のデータに設定し、次の記事に進みます。
推薦図書 重要なコツをマスターしましょう:ゼロから最初のWordPressテーマを作成する方法。
ページ構造をモジュール化することは、コードのメンテナビリティを向上させるための良い方法です。header.phpとfooter.phpその才能を発揮できる場。
ヘッダーとフッターを分離する
「将」index.phpの中<head>部分と全体<header>エリアを切り取り、新しく作成したファイルに貼り付けます。header.phpファイルの中にあります。同様に、<footer>一部を切り取って…footer.php真ん中だ。
そして、元の…index.phpここでは、「使用」を使っています。get_header()とget_footer()これら2つのテンプレートタグを使用して、それらを導入します。
<?php get_header(); ?>
<main>
<?php the_title( '<h2>', '</h2>' ); ?>
<p><?php _e( '抱歉,没有找到任何内容。', 'my-first-theme' ); ?></p>
endif; 終わり
</main>
<?php get_footer(); ?> このようにすると、すべてのページテンプレートで同じヘッダーとフッターを共有できるため、変更する際には1つのファイルのみを修正すればよくなります。
Functions.phpを使用してテーマの機能を強化する
functions.phpこのファイルは、あなたのテーマの「コントロールセンター」のようなものです。これはテンプレートファイルではなく、テーマが初期化される際に自動的に読み込まれる関数ライブラリです。ここに機能を追加したり、デフォルトの動作を変更したりすることができますが、WordPressのコアファイルを直接変更する必要はありません。
登録されたトピックでサポートされている機能:
はい。functions.phpその中で、あなたは使用することができます。add_theme_support()関数を使用して、自分のテーマがどのWordPress機能をサポートしているかを宣言します。例えば、記事のサムネイル(特集画像)の表示やカスタムメニューの設定などはよく行われる操作です。
<?php
function my_theme_setup() {
// 添加对文章缩略图的支持
add_theme_support( 'post-thumbnails' );
// 添加对自定义菜单的支持
add_theme_support( 'menus' );
// 注册一个导航菜单位置
register_nav_menus( array(
'primary' => __( '主导航菜单', 'my-first-theme' ),
) );
}
add_action( 'after_setup_theme', 'my_theme_setup' ); スタイルとスクリプトを追加する
CSSおよびJavaScriptを正しく追加する方法は、以下の通りです:wp_enqueue_style()とwp_enqueue_script()関数を作成し、それらをマウントします。wp_enqueue_scriptsこのフックの上にあります。これにより、依存関係が正しく保たれ、データが重複して読み込まれるのを防ぎます。
function my_theme_scripts() {
// 引入主题的主样式表
wp_enqueue_style( 'my-theme-style', get_stylesheet_uri() );
// 引入自定义的JavaScript文件
wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/js/script.js', array(), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' ); これらをすべて完了したら、あなたは…header.phpここで使用されているのはwp_nav_menu()登録したメニューを表示するための関数を用意し、記事のループ処理の中で使用します。the_post_thumbnail()特徴的な画像が表示され始めました。
概要
WordPressのテーマ開発は、構造から細部に至るまで段階的に進めていくプロセスです。まず、テーマがどのように構成されているかを理解する必要があります。style.cssとindex.php構成の核心を理解し、ローカル開発環境を整えましょう。その後、テンプレートの階層構造や「ループ」の概念をマスターすることで、異なるページに対して正確なレイアウトを作成できるようになります。header.phpとfooter.phpモジュール化を行うことで、コードはより明確で保守しやすくなります。最後に…functions.phpファイルによって機能拡張の扉が開かれました。登録メニューやリソースの安全な読み込みなどを通じて、テーマは静的なテンプレートから動的で強力なウェブサイトのスキンへと変化します。この道筋をたどりながら、より具体的なテンプレートファイルについて継続的に実践し、探求していきましょう。single.php、page.php、archive.phpそうすれば、段階を追って機能が充実し、デザインもユニークなカスタムWordPressサイトを構築することができるでしょう。
FAQ よくある質問
WordPressテーマを開発するには、どのような前提知識が必要ですか?
HTMLとCSSの基礎を習得する必要があります。これにより、ウェブページの構造とスタイルを作成できるようになります。また、PHPについても基本的な知識が必要です。なぜなら、WordPressのテンプレートファイルは主にPHPコードで構成されており、コンテンツを動的に生成するために使用されるからです。JavaScriptの習得により、テーマにインタラクティブな機能を追加することができますが、初期段階では必須ではありません。しかし、後期になると非常に重要になります。
なぜ私のテーマがバックエンドで表示されないのでしょうか?
最も一般的な原因はstyle.cssファイル内のトピック情報のヘッダーフォーマットが正しくない、または欠落しています。ファイルの冒頭に、形式要件を満たす完全なコメントブロックがあることを確認してください。また、トピックフォルダーが正しい場所に配置されているかも確認してください。wp-content/themes/ディレクトリ内にあり、かつフォルダ名には特殊な文字が使用されていません。
私のテーマにどのようにしてツールバー(サイドバー)を追加できますか?
あなたはまず、以下の手順を実行する必要があります:functions.phpここで使用されているのはregister_sidebar()この関数は、1つまたは複数のツールバー領域を登録します。その後、対応するテンプレートファイル(例えば…)内で…sidebar.php)中で使用するdynamic_sidebar()関数を呼び出してそれを表示します。最後に、ページテンプレート内でそれを実行します。get_sidebar()このファイルをインポートしてください。
functions.phpファイルを変更した結果、ウェブサイトが白画面になってしまった場合、どう対処すればいいでしょうか?
これは通常、以下の理由によるものです:functions.phpファイルにPHPの文法エラーが存在します。このファイルはテーマが読み込まれる初期段階で実行されるため、このエラーによりウェブサイト全体の動作が中断してしまいます。解決策としては、FTPまたはホストコントロールパネルのファイルマネージャを使用して、問題のあるファイルを削除または修正することです。functions.php名前を変更する(例えば、「××」から「××」に変更する)functions.php.bakそうするとWordPressはそのファイルを無視し、ウェブサイトのアクセスが復旧します。その後で修正されたバージョンを再アップロードすることができます。
私のテーマに多言語翻訳を追加するにはどうすればいいでしょうか?
あなたは2つのことをしっかりと行う必要があります。まず、トピックのすべてのテキスト出力において、WordPressの翻訳機能を使用してください。例えば、`wptranslate()`関数などを使って翻訳を行うのです。__()、_e()そして、それらに対して指定を行います。style.cssヘッダー部分で定義されている「Text Domain」です。次に、Poeditのようなツールを使用して、テーマファイルをスキャンし、必要な情報を生成します。.potテンプレートファイルを使用して、対応する言語(例えば…)のコンテンツを生成します。zh_CN.poと.mo)の翻訳ファイルを、トピックの中に置いてください。/languages/ディレクトリ内にあります。
次はどうする?
拡大読書と実践的知識
以下は、この記事のトピックに関連しており、さらに深く読むのに適している。あなたの現在の問題に最も近い記事から優先順位をつけ、徐々に周辺のトピックに広げていく方が良い場合が多い。