準備作業と環境設定
コードの執筆を始める前に、正しい開発環境を構築することが非常に重要です。これは効率だけでなく、デバッグのしやすさや将来のメンテナンス性にも影響します。WordPress を実行するためには、ローカルのサーバー環境が必要です。Local by Flywheel、XAMPP、Laragon などの専門的なローカル開発ソフトウェアの使用をお勧めします。PHP(7.4 以上のバージョンが推奨)、MySQL、そして Web サーバー(Apache または Nginx)をインストールし、設定してください。
次に、最新のWordPressインストールパッケージをダウンロードし、ローカルサーバー環境で新しいサイトを作成してインストールしてください。サイトのルートディレクトリを必ず覚えておいてください。コードの編集やバージョン管理を容易にするために、VS CodeやPhpStormなどの専門的なコードエディタを使用することをお勧めします。また、関連するPHPやWordPress用のコードスニペット、デバッグプラグインもインストールしてください。
最後に、WordPressのテーマにとっての「絶対的な出発点」とは何かを理解する必要があります。テーマをシステムが認識するためには、少なくとも2つのファイルが必要です。そのうちの1つがスタイルシートファイルです。 style.cssもう一つはホームページのテンプレートファイルです。 index.php「サイト内の」 /wp-content/themes/ ディレクトリ内で、これから作成するトピック用に新しいフォルダを作成してください。例えば: my-first-theme。
推薦図書 ゼロから始める:WordPressテーマ開発の核心プロセスと実践的なテクニックを効率的にマスターする。
トピックを作成するためのコアファイル
### テーマ情報定義ファイル
各トピックの識別情報および情報の声明はすべて、 style.css このファイルの中にあります。このファイルの冒頭にあるコメントヘッダーブロックは必須で、WordPressはそれを通じてテーマの名前、作者、説明などの情報を読み取ります。 style.css ファイルはこのように始まるべきです:
/*
Theme Name: 我的第一个主题
Theme URI: https://example.com/my-first-theme/
Author: 你的名字
Author URI: https://example.com/
Description: 这是一个从零开始开发的 WordPress 主题演示。
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-first-theme
*/ Text Domain 国際化のために使用されるこのファイルは、テーマフォルダの名前と一致していなければなりません。また、このファイルにはすべてのCSSスタイルコードも含まれています。
基本テンプレートファイルの構築
テンプレートファイルは、ウェブサイトの各ページの外観を制御しています。では、最も基本的ないくつかのファイルを作成しましょう。まずはホームページのテンプレートファイルからです。 index.phpそれはすべてのページに適用されるデフォルトのリターンテンプレートです。非常にシンプルですが、実際に機能します。 index.php ファイルの内容は以下の通りです:
<?php get_header(); ?>
<main>
<?php
if ( have_posts() ) :
while ( have_posts() ) : the_post();
// 输出文章内容
the_title( '<h2>', '</h2>' );
the_content();
endwhile;
else :
echo '<p>暂无文章。</p>';
endif;
?>
</main> このコードでは、3つの主要なテンプレートコンポーネント関数が導入されています:get_header(), get_sidebar(), get_footer()これは、対応するものを作成する必要があることを意味しています。 header.php, sidebar.php と footer.php ファイル。
header.php ファイルには通常、ドキュメントの種類を示す宣言やHTMLヘッダー情報が含まれています(これらは…によって記述されます)。 wp_head() 関数の出力結果、サイトのタイトル、およびメインナビゲーションメニューです。これが基本的な構成です。 header.php ファイルは以下の通りです:
推薦図書 機能豊富なカスタムWordPressテーマの作り方を、手取り足取り教えます。。
<!DOCTYPE html>
<html no numeric noise key 1006>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body no numeric noise key 1003>
<header>
<h1><a href="/ja/</?php echo esc_url( home_url( '/' ) ); ?>">ブログの名前を表示するには?php bloginfo( 'name' ); ?></a></h1>
</header> footer.php ファイルがページ構造を閉じ、その後関連する処理を呼び出します。 wp_footer() 多くのプラグインがこのフックに依存してスクリプトを挿入しています。
トピック機能とスタイルの実装
### – 登録メニューとサイドバー
ユーザーがバックエンド管理メニューを通じてメニュー項目を登録できるようにするためには、関数を使用してメニュー項目の情報を登録する必要があります。これは通常、テーマの設定ファイル内で行われます。 functions.php ファイルの作成が完了しました。 functions.php そして、以下のコードを追加してください:
<?php
function my_theme_setup() {
// 注册一个主菜单位置
register_nav_menus( array(
'primary' => __( '主导航菜单', 'my-first-theme' ),
) );
// 支持文章特色图像
add_theme_support( 'post-thumbnails' );
// 支持自定义Logo
add_theme_support( 'custom-logo' );
}
add_action( 'after_setup_theme', 'my_theme_setup' );
?> 次に、あなたは… header.php メニューを適切な場所(例えばサイトタイトルの後ろ)で呼び出し、使用してください。 wp_nav_menu() 関数。
同様に、サイドバーなどのウィジェット(Widget)領域を有効にするためには、以下の手順が必要です: functions.php サイトにバーを登録するには:
function my_theme_widgets_init() {
register_sidebar( array(
'name' => __( '主侧边栏', 'my-first-theme' ),
'id' => 'sidebar-1',
'description' => __( '在此添加小工具。', 'my-first-theme' ),
'before_widget' => '<section id="%1$s" class="widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
) );
}
add_action( 'widgets_init', 'my_theme_widgets_init' ); その後、 sidebar.php ファイルで使用されている dynamic_sidebar( 'sidebar-1' ) それを表示するために。
スタイルとスクリプトを追加する
CSSファイルとJavaScriptファイルを正しくキューに追加することは、WordPress開発におけるベストプラクティスです。これにより、依存関係の衝突を避け、キャッシュを効果的に活用することができます。 functions.php 新しい関数を作成します:
推薦図書 WordPressテーマ開発を解き明かす:ゼロからカスタムサイトを構築するための重要技術。
function my_theme_scripts() {
// 引入主样式表
wp_enqueue_style( 'my-first-theme-style', get_stylesheet_uri(), array(), wp_get_theme()->get( 'Version' ) );
// 引入一个自定义脚本
wp_enqueue_script( 'my-first-theme-navigation', get_template_directory_uri() . '/js/navigation.js', array(), wp_get_theme()->get( 'Version' ), true );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' ); このようにすると、WordPressはページのヘッダー部分に自動的にあなたのスタイルシートのリンクを追加します。また、新しい…(テキストが途切れていますので、続きがあればそちらもご提供ください。) /js/ 目次を作成し、そこにあなたの情報を追加してください。 navigation.js ファイル。
テンプレートの階層構造と高度なテクニック
### – テンプレートの階層構造を理解する
WordPress は、アクセスされたページの種類に基づいて、一連の厳密に定められた階層順序に従って対応するテンプレートファイルを選択します。これはテーマ開発において最も強力な機能の一つです。例えば、単一の記事にアクセスした場合、WordPress は以下の順番でテンプレートファイルを探します:single-{post-type}-{slug}.php -> single-{post-type}.php -> single.php -> singular.php -> 最終的に元の状態に戻す index.php。
为你的博客文章创建一个自定义的单篇文章模板,你可以创建 single.php特定のページ(例えば「关于我们(About Us)」ページ)のためのテンプレートを作成するには、以下のように名前を付けたテンプレートを作成することができます: page-about.php そのファイル(ページのエイリアスが「about」であると仮定します)。
フックを使用した拡張機能の利用
WordPressのプラグインAPI(フックとフィルター)を利用すると、テーマやコア機能を安全に変更することができます。アクションフック(Action Hooks)を使えば、特定のタイミングで何かを実行することができます。例えば、記事の内容の最後に自動的にテキストを追加したい場合には、アクションフックを利用すると便利です。 the_content フィルター:
function my_theme_add_footer_text( $content ) {
if ( is_single() ) {
$content .= '<p class="custom-footer">この文章は私のトピックに基づいて生成されました。</p>';
}
return $content;
}
add_filter( 'the_content', 'my_theme_add_footer_text' ); 概要
この記事の手順に従っていれば、WordPressのテーマ開発の基本的な流れをすでに経験しました。ローカル環境の準備から始め、テーマ情報を定義するまでの全てのプロセスを踏んできたのです。 style.css そして、ページの枠組みを構成するテンプレートファイルに至るまで…… functions.php メニューやサイドバーなどの登録機能、スタイルスクリプトの配置方法について理解し、最終的にはテンプレートの階層構造やフック(hook)メカニズムも把握しました。「テンプレートの階層構造」と「スクリプトやスタイルを正しく順序良く処理する」という2つの重要な概念をしっかり覚えておくと、多くの問題を回避できるでしょう。テーマの開発は反復的なプロセスです。継続的に実践し、既存の優れたテーマを分析することで、すぐにスキルが向上します。
FAQ よくある質問
###:テーマ開発は必ずゼロから始めなければならないのでしょうか?
そうではありません。公式の基本テーマ(Underscores)やフレームワーク(Genesis)を出発点として使用することもできます。これらは標準化されたコード構造と基本的な機能を提供しており、開発効率とコード品質を大幅に向上させることができます。特に初心者にとって非常に適しています。
どのようにしてエンコードせずに私のテーマをテストできますか?
ローカル開発環境では、WordPressに内蔵されている「テーマのユニットテストデータ」を使用して、さまざまな形式や要素を含む多数のサンプル記事、ページ、メニュー、コメントをインポートすることができます。これにより、テーマがさまざまなシナリオでどのように動作するかを包括的にテストすることができます。
なぜ私のスタイルの変更がバックエンドですぐには反映されないのでしょうか?
これは通常、ブラウザのキャッシュが原因です。`Ctrl + F5` または `Cmd + Shift + R` を押して強制更新を試してみてください。もしWordPressのキャッシュプラグインが原因であれば、そのプラグインのキャッシュを削除する必要があります。また、ご確認ください…… style.css ファイルのバージョン番号は更新されましたか?
テーマ開発が完了した後、どのようにしてパッケージ化して配布するのでしょうか?
まず、あなたが確認する必要があるのは… style.css ファイル内のテーマ情報は完全かつ正確です。次に、開発過程で作成されたすべてのバックアップファイルやバージョン管理用のフォルダを削除してください。 .gitテーマファイルと一時ファイルを準備します。最後に、テーマフォルダをZIP形式に圧縮します。このZIPファイルをWordPressの管理画面で「外観」→「テーマ」→「テーマを追加」→「テーマをアップロード」からインストールすることができます。
次はどうする?
拡大読書と実践的知識
以下は、この記事のトピックに関連しており、さらに深く読むのに適している。あなたの現在の問題に最も近い記事から優先順位をつけ、徐々に周辺のトピックに広げていく方が良い場合が多い。