【WordPress】必須のプラグインを指定できる機能mu-plugins

自動的に有効化するプラグインを指定できます。指定は簡単で、pluginsフォルダーからmu-pluginsという新しいフォルダーに移すだけ!




Initializing...

自動的に有効化するプラグインを指定する

Windowsでいうところのautoexec.batのような初期起動時に何か特定の実行をさせるような…
例えばWordpressでかならずこのプラグインは起動しておくなんていうようなことができないだろうか?
Worepressにもありました。mu-pluginsという機能が!

mu-pluginsを使う場合に気をつけたい事

mu-pluginsを使う事によって以下のような制限事項が発生するので注意しましょう。

  • mu-pluginsは自動的にActive化するプラグインを指定することができる
  • Active化したいプラグインはmu-pluginsフォルダを作って配置するだけ。
  • 管理画面のプラグインには、必須という項目が表示される
  • 自動的にActive化するので、手動での有効/無効に指定はできない
  • 今後に継続する機能なのかどうかは不明

mu-pluginsの実装

mu-pluginsは上記のとおり起動時に自動的に有効化するプラグインを指定するのが主な使い方になりますが、実際はmu-pluginsの配下にあるphpファイルを自動的に実行するというのが元々本来の実装になります。これを具体的に利用するのが、今回紹介した便利機能です。

ここで紹介したように直接プラグイン本体を放り込まなくても、以下のサンプルのように間接的に自動起動するプラグインを指定するphpファイルを置くことで同じような機能を果たすこともできます。

おなじみwp-content下のフォルダー群

自動起動するプラグインを指定するサンプルプラグラム

以下に紹介するプラグラムは、dogmap.jpさんの作成された自動起動するプラグインの一覧を指定するサンプルです。

<?php /* Plugin Name: Just do it ! Plugin URI: Description: Version: 0.1 Author: Author URI: */ new just_do_it(); class just_do_it { private $must_plugins = array( 'WP Multibyte Patch' => 'wp-multibyte-patch/wp-multibyte-patch.php',

    );

    function __construct() {

        add_action('shutdown', array($this, 'plugins_loaded'));

    }

    public function plugins_loaded() {

        $activePlugins = get_option('active_plugins');

        foreach ($this->must_plugins as $key => $plugin) {

            if ( !array_search($plugin, $activePlugins) ) {

                activate_plugin( $plugin, '', $this->is_multisite() );

            }

        }

    }

    private function is_multisite() {

        return function_exists('is_multisite') && is_multisite();

    }

}

※自分のサイトに使う場合は18行目の連想配列に、自動起動したプラグインのキー名とフォルダー名を指定するだけです。

参考にしたdogmap.jpさんのサイトはこちらです。

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

スポンサーリンク
ページ上部へ戻る