web-dev-qa-db-ja.com

Wordpressのテーマにプラグインを統合する方法

Wordpressのテーマにプラグインを統合するには2つの方法があることを私は読みました。

最初の方法が最善だと思います。しかし、私はそれを正確に行う方法がわからない...

Wordpressのプラグインディレクトリにプラグインをコピーした後...どうすれば有効にできますか?あなたはこれを行うための別の方法を知っていますか?

それから私は自分がやろうとしていることを明らかにします。


最初の方法:私のプラグインをwp-content/pluginsにコピーします。

  • プラグインをそのままバンドルし、コードを使用してプラグインフォルダにコピーし、activate_pluginを呼び出してインストールします。

私が知っているのは、プラグインディレクトリをコピーする方法だけです。

function recurse_copy($src,$dst) { 
    $dir = opendir($src); 
    @mkdir($dst); 
    while(false !== ( $file = readdir($dir)) ) { 
        if (( $file != '.' ) && ( $file != '..' )) { 
            if ( is_dir($src . '/' . $file) ) { 
                recurse_copy($src . '/' . $file,$dst . '/' . $file); 
            } else { 
                copy($src . '/' . $file,$dst . '/' . $file); 
            } 
        } 
    } 
    closedir($dir); 
}

// I copy my plugin to wp-content/plugins
recurse_copy($path."/plugins/myplugin_Directory", WP_PLUGIN_DIR . "/myplugin_Directory");

2番目の方法:wp-content-pluginsの中のプラグインの代わりに私のプラグインを使う。

  • テーマフォルダ内のプラグインのコピーを使用して、テーマディレクトリのリソースを使用するために、参照( パス )をすべての依存関係に変更します。

2番目の方法の例: これをfunctions.phpに入れます

add_action('after_setup_theme', 'load_MyPlugin');
function load_MyPlugin() { 
    if (!class_exists('MyPluginClass')) {
        include_once(get_template_directory_uri() . '/plugins/myplugin_Directory/index.php');
    }
}
1
tomloprod

それはプラグインが何をするか、あなたのテーマがそれに依存しているかどうか、そしてそれがあなた自身のプラグインかどうかによって異なります。

たとえば、特別なテーマページやもの(イベントやポートフォリオなど)を含むカスタム投稿タイプを追加するプラグインの場合は、2番目の方法でテーマに統合する必要があります。

一方、外部の開発者からのプラグイン(スライダーなど)の場合は、そのプラグインを/wp-content/pluginsフォルダーにインストールする(またはそれをpluginsフォルダーにコピーする)ようにします。ここでの良い手助けは TGM Plugin Activation です。これは最近多くのテーマで使われています。あなたのテーマに依存するプラグインを自動的にインストールしてアクティブにすることさえできます。プレミアムプラグインの場合のように、WPリポジトリから、またはテーマのどこかに.Zipファイルを含めると、フォルダからそれらをインストールできます。

3
redelschaap