WordPressプラグイン開発入門ガイド:ゼロからあなたの最初のプラグインを作ろう

2分で読了
2026-03-12
2026-06-03
2,219
以下のリンクからお買い物をしていただくと、コミッションを差し上げます。.

なぜWordPressプラグインの開発を選ぶのでしょうか?

WordPressは世界で最も人気のあるコンテンツ管理システム(CMS)であり、その強力な拡張性は主にプラグインのおかげです。プラグインを開発することで、コアファイルを変更することなくウェブサイトに任意のカスタム機能を追加することができ、これによりWordPressのアップグレード時の互換性が保たれます。特定のプロジェクトのニーズに応えたり、よくある問題を解決したり、自分のソリューションをコミュニティと共有して収入を得たりするためにも、プラグイン開発は非常に価値のあるスキルです。

プラグイン開発を学ぶことで、WordPressの動作原理(フックシステムやショートコードなど)を深く理解するだけでなく、PHPのプログラミングスキルも向上させることができます。単純な機能の拡張から複雑なアプリケーションの統合まで、何でも可能になります。

プラグイン開発環境の構築方法

コードの執筆を始める前に、適切なローカル開発環境を整えることが非常に重要です。これにより、オンラインサイトに影響を与えることなく、安全にテストやデバッグを行うことができます。

推薦図書 WordPressプラグイン開発の究極ガイド:ゼロからプロフェッショナルなプラグインを構築する

ローカルサーバー環境の設定

統合されたローカル開発ツールの使用をお勧めします。例えば、Local by Flywheel、DevKinsta、XAMPPなどです。これらのツールはワンクリックでインストールでき、Apache/Nginx、PHP、MySQLがすべて含まれています。使用するPHPのバージョンがターゲットサーバーと互換性があることを確認してください。一般的には、より良いパフォーマンスとセキュリティのためにPHP 7.4以降のバージョンを使用することをお勧めします。

UltaHostのWordPressホスティングサービス
30日間の返金保証、無制限の帯域幅とデータベースサービス、無料のDDoS防御機能が付きます。3年契約をすると、501TPから4Tまでのプランで割引が適用されます。

WordPressのインストールと設定方法

ローカルサーバーに新しいWordPressインスタンスをインストールしてください。開発やテストには、テーマの互換性の問題を避けるためにデフォルトのテーマ(例えば「Twenty Twenty」シリーズ)を使用することをお勧めします。wp-config.phpファイル内で、オンにします。WP_DEBUGこれは定数です。開発プロセスにおいてエラーを迅速に発見するのに役立ちます。

define( 'WP_DEBUG', true );

コードエディタを準備してください。

強力なコードエディタを選択してください。例えば、Visual Studio Code、PhpStorm、Sublime Textなどです。PHPのインテリセンスやWordPress用のコードスニペットなどの関連拡張機能をインストールすると、コーディングの効率が大幅に向上します。

最初のプラグインファイルを作成しましょう。

WordPressプラグインとは、本質的には1つまたは複数のコードファイルで構成されており、それらはWordPressのソースコードに組み込まれることで、サイトの機能を拡張したり、新しい機能を追加したりするものです。/wp-content/plugins/ディレクトリ内にあるPHPファイルです。では、最も基本的な構造から始めましょう。

プラグインのヘッダー部分にコメントを記述する方法:

すべてのプラグインには、標準的な形式のヘッダーコメントが含まれていなければなりません。WordPressはこのコメントを通じてプラグインの情報を認識します。あなたのプラグインディレクトリ内で(例えば…)/wp-content/plugins/my-first-plugin/)の中で、``という名前のものを作成してください。my-first-plugin.phpメインファイルです。

推薦図書 入門から上級者まで:WordPressプラグイン開発の完全ガイド

<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于学习的简单WordPress插件。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://example.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 * Domain Path:       /languages
 */

このコメントは、WordPressの管理画面(バックエンド)でプラグインが表示される名称や説明などの情報を定義しています。Text Domain国際化翻訳用です。

プラグインを構築する際の基本的なセキュリティフレームワーク

プラグインファイルへの直接アクセスを防ぐために、ファイルの冒頭にセキュリティ保護コードを追加することができます。これはWordPressプラグイン開発におけるベストプラクティスです。

// 防止直接访问
if ( ! defined( 'ABSPATH' ) ) {
	exit; // 如果未定义ABSPATH(WordPress根目录的绝对路径),则退出
}

ABSPATHこれはWordPressが定義している定数で、プラグインがインストールされている場所の絶対パスを表しています。この定数が存在するかどうかをチェックすることで、外部ユーザーがURLを通じて直接プラグインファイルにアクセスするのを効果的に防ぐことができます。

hosting.com 共有ホスティング
AMD EPYC CPU、NVMe SSDストレージ、LiteSpeedによる高いパフォーマンス、24時間365日の専門家による社内サポート、SSL、ブルートフォース、マルウェア、DDoS保護などの高度なセキュリティ対策、最大73%のコスト削減

コア機能の実装:管理メニューと設定の追加

完全なプラグインには、通常、WordPressの管理画面内で設定を行うためのインターフェースが必要です。ここでは、WordPressが提供するAPIを利用して、シンプルな管理メニューページを追加する方法を説明します。

関数を使用してトップレベルの管理メニューを追加します。

私たちは使用する予定です。add_action()関数は にマウントされます。admin_menuフックに掛けることで、バックエンドにメニューアイテムが追加されます。メインのプラグインファイルに以下のコードを続けて追加してください。

// 添加管理菜单
function mfp_add_admin_menu() {
    add_menu_page(
        '我的第一个插件设置', // 页面标题
        '我的插件',           // 菜单标题
        'manage_options',    // 所需权限(管理员)
        'my-first-plugin',   // 菜单slug
        'mfp_settings_page', // 显示页面内容的回调函数
        'dashicons-admin-generic', // 图标(使用Dashicons)
        80                    // 菜单位置
    );
}
add_action( 'admin_menu', 'mfp_add_admin_menu' );

ここでは、add_menu_page()この関数は、トップレベルのメニューを作成するために使用されます。パラメータには、ページのタイトル、メニューのタイトル、アクセス権限、一意な識別子(スラグ)、ページ内容を出力するためのコールバック関数、アイコン、そしてメニューがサイドバー内で配置される位置が定義されています。

推薦図書 WordPressプラグイン開発の完全ガイド:ゼロから実戦までの手順

設定ページを作成するためのコールバック関数を作成します。

さて、今回ご紹介した内容について定義する必要があります。mfp_settings_page()この関数は、管理ページのHTMLコンテンツを出力します。

// 设置页面回调函数
function mfp_settings_page() {
    // 检查用户权限
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1></h1>
        <p>私の最初のプラグインの設定ページにようこそ!ここには、将来フォームやオプションを追加するための機能が用意されています。</p>
        <form action="/ja/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            // 输出设置字段、非ce等(后续扩展)
            settings_fields( 'mfp_options_group' );
            do_settings_sections( 'my-first-plugin' );
            submit_button( '保存设置' );
            ?>
        <input type="hidden" name="trp-form-language" value="ja"/></form>
    </div>
    あなたのアカウントは有効です。あなたはログインしています。

この関数はまず、現在のユーザーが該当するかどうかを確認します。manage_options権限(通常は管理者用)が必要であり、その後にシンプルな設定ページのフレームワークが出力されます。その中には…settings_fields()do_settings_sections()これは、後でWordPressを使用する際にAPI登録オプションを設定するために予約されているものです。

インターサーバー共有ホスティング
共有ホスティング月$2.50米ドル, 最初の月$0.1米ドルプロモーションコードtryinterserver, 461クラウドアプリケーションスクリプト, 1クリックインストール.

プラグインにシンプルなフロントエンド機能を追加する

バックエンド管理インターフェースに加えて、プラグインはより一般的にウェブサイトのフロントエンドに機能を提供するために使用されます。ここでは、ユーザーが記事やページ内で呼び出すことができるシンプルなショートコードを作成します。

関数を使用してショートコードを登録する

ショートコードにより、ユーザーは以下のように操作を行うことができます:[shortcode]このようなシンプルなタグを使って、コンテンツに動的な機能を組み込むことができます。add_shortcode()関数を登録します。

// 注册一个短代码
function mfp_hello_world_shortcode( $atts ) {
    // 短码属性,设置默认值
    $atts = shortcode_atts(
        array(
            'name' =&gt; '访客',
        ),
        $atts,
        'mfp_hello'
    );

// 安全地输出内容
    return '<p>こんにちは、' . esc_html($atts['name']) . '!これは私のプラグインが生成した挨拶です。</p>'php
add_shortcode('mfp_hello', 'mfp_hello_world_shortcode');

add_shortcode()この関数は2つのパラメータを受け取ります。1つはショートコードのタグ名(ユーザーが使用する際の名称)で、もう1つはそれに対応する処理関数です。shortcode_atts()この関数は、ユーザーが入力した属性値とデフォルト値を統合するために使用され、コードの堅牢性を確保します。

フロントエンドでショートコードをテストする

プラグインファイルを保存した後、WordPressの管理画面にある「プラグイン」ページにアクセスし、「My First Plugin」を有効にします。その後、記事を新規作成するか、既存の記事を編集し、コンテンツエディタ内に直接テキストを入力してください。[mfp_hello name="小明"]記事を公開すると、フロントエンドページに「こんにちは、小明!これは私のプラグインが生成した挨拶です。」と表示されます。name属性を指定しない場合、[mfp_hello]その場合、デフォルトの「こんにちは、訪問者!」が表示されます。

概要

このガイドを通じて、ゼロから基本的なWordPressプラグインを作成するまでの全てのプロセスを完了しました。プラグインの基本構造、ヘッダー内のコメントの重要性、管理画面メニューの追加方法、そしてシンプルで実用的なフロントエンド用のショートコードの作成方法について学びました。これらはWordPressプラグイン開発の基盤となる要素です。

本当のプラグイン開発の旅はまだ始まったばかりです。次に、WordPressの強力な設定APIを活用して保存可能なオプションを作成したり、アクションフックを利用したりすることができます。add_action()フィルターハンガーadd_filter()コアの動作を修正し、プラグインに国際化(多言語対応)機能を追加する方法、そしてユーザーデータを安全に処理する方法を学びましょう。WordPressのコーディング基準を守り、セキュリティに注意を払うことが、高品質なプラグインを開発するための鍵です。

FAQ よくある質問

WordPressプラグインを開発するには、どのような前提知識が必要ですか?

PHPの基本的なプログラミング知識が必要であり、HTMLやCSSにも精通している必要があります。また、WordPressの基本的な操作(記事の投稿やテーマ・プラグインのインストールなど)にも慣れていることが求められます。オブジェクト指向プログラミング(OOP)に精通している必要はありませんが、複雑なプラグインを開発する際には非常に役立ちます。

プラグインのメインファイル名は、フォルダ名と同じでなければなりませんか?

必須ではありませんが、これは強く推奨されるベストプラクティスであり、構造をより明確にすることができます。メインプラグインのPHPファイルの名前は任意ですが、そのヘッダーには正しいコメントを記述する必要があり、またそのファイルはプラグイン自体のフォルダ内に存在しなければなりません。フォルダ名は通常、そのプラグインのスラグ(slug)と同じになります。

私のプラグインコードのデバッグ方法は何ですか?

「開始する」以外にも…WP_DEBUGまた、以下の方法も利用できます:error_log()この関数は、デバッグ情報をサーバーのエラーログに書き込むか、またはそれを別の方法で利用します。var_dump()wp_die()出力内容のチェックを行います(開発環境専用)。Query Monitorなどのデバッグプラグインを使用するのも効率的な選択肢です。

私が開発したプラグインをWordPressの公式プラグインディレクトリにどのように公開するか教えてください。

まず、プラグインのコードがWordPressの公開基準を満たしていることを確認する必要があります。これにはGPLライセンスの適用、コードの品質、セキュリティ、国際化などが含まれます。次に、WordPress.orgでSVNリポジトリを申請し、自分のコードをそこにコミットし、審査プロセスを通過させます。公式にはプラグインのコミットに関する詳細なマニュアルが用意されています。