WordPressのメンテしててcomposerでライブラリ入れたいときってあると思うんですよ。
で、よさげな方法を2つみつけたので紹介します。
1. テーマにそのまま入れる
もうWordPressのアーキテクチャ上 テーマ = カスタム部分 になるのはある程度、割り切っても良いと思うんですよ。
その考えで行くと単に テーマディレクトリ直下に composer.json
置いて require_once __DIR__ . '/vendor/autoload.php';
で良い気がします。
2. mu-plugins に入れる
今回の記事での本命。
この手を使うと、composer化されたプラグインも、通常のプラグインも1つのディレクトリ以下に押し込んで読み込みを強制する事が出来るので良い気がします。
/wp-content/mu-plugins
直下に composer.json を置いて以下のようにします。
compose.php
<?php
/*
Plugin Name: Composer Libraries
Description: Required Libs.
*/
require_once __DIR__ . '/vendor/autoload.php';
これで、bladeテンプレートを使えるようにするプラグインのbladerunnerとかもこれだけで良い感じに入ります。
普通のPHP開発だとvendor以下はリポジトリに入れない方がメジャーだと思いますが、WordPressを後から取り扱ってるような場合は、入れちゃってもまぁ良いと思います。 お好み&プロジェクトの状況次第で。
既にKUSANAGIなどでmu-plugins以下を他の事にも使っている場合、composer.jsonやvendorの置き場を一層だけディレクトリ深くすれれば良いと思います。