WordPressの必須(Must-Use)プラグインとは?
必須(Must-Use)プラグインとは、特定のディレクトリに置かれたプラグインで強制的に有効化されるプラグインのこと。英語圏ではmu-pluginsと呼ばれることも多いようです。
必須(Must-Use)プラグインは強制的に有効化され、停止することはできません。停止するには、プラグインを配置したディレクトリから取り除くしかありません。
必須(Must-Use)プラグインの作成方法
ここでは必須(Must-Use)プラグインの作成方法を解説します。
必須(Must-Use)プラグインのディレクトリに配置する
必須(Must-Use)プラグインを作成するには、通常のプラグインと同じファイルを「/wp-content/mu-plugins」ディレクトリ配下に配置するだけです。
例えば、カスタム投稿タイプを必須プラグインとして作成したい場合は、custom-post-type.phpと名付けたPHPファイルを「/wp-content/mu-plugins」ディレクトリ配下に配置します。
<?php
add_action('init', 'create_post_types');
function create_post_types() {
register_post_type('shop', array(
'labels' => array(
'name' => '店舗',
'add_new_item' => '新規店舗追加',
'edit_item' => '店舗編集',
'all_items' => '店舗一覧',
'singular_name' => '店舗'
),
'public' => true,
'has_archive' => true,
'supports' => array('title', 'editor', 'thumbnail', 'revisions', 'excerpt', 'custom-fields'),
'menu_icon' => 'dashicons-book',
'show_in_rest' => true,
'rewrite' => array('slug' => 'shops'),
));
}
よくある質問
必須(Must-Use)プラグインのディレクトリを変更する方法はある?
必須(Must-Use)プラグインを実行させるディレクトリは、wp-config.php
ファイル内で定義される2つの定数を編集することで変更することができます。
define('WPMU_PLUGIN_DIR', '/full/path/to/the/new/directory'); define('WPMU_PLUGIN_URL', 'http://URL/to/the/new/directory');
また必須プラグインは、ディレクトリ配下のPHPファイルのみを読み込みます。これは、通常のプラグインとは異なる挙動であり、サブディレクトリのPHPファイルを読み込まないことを意味します。
サブディレクトリにあるPHPファイルを読み込み込ませたい場合は、以下のようなプロキシPHPファイルを必須プラグインのディレクトリに用意しましょう。
<?php // mu-plugins/load.php
require WPMU_PLUGIN_DIR.'/my-plugin/my-plugin.php';