テンプレートの読込み時に渡される値になります。処理などが実行された時に、このフックも実行されるみたい。引数の感じも凄く似てるよね。テネーブルほとんどの場合は、第2引数などは使われないでしょう。第2引数の値などを条件にすることで、条件に該当された時だけテンプレートを読み込むルートディレクトリを切り替えるなどの条件判定を可能になっています。フックが、ルートディレクトリの配列を返却するのは何故でしょうか?ルートディレクトリは、1つでは駄目なのは何故なのかを解説します。フックは、配列を返却しないフックであり、返却値は1つです。その為、基本的にルートディレクトリは設定した1つか、テーマディレクトリになってしまう問題がありました。フックを使用した場合は、優先度の高い該当のフックの返却値がルートディレクトリに設定されてしまう問題がありました。優先度が他のプラグインより低ければ、そのプラグインで設定したルートディレクトリは正しく参照されません。その為、意図しない動作で処理をされてしまうか、複数のプラグインで動作させた場合には処理エラーが発生してしまう問題がありました。フックは非推奨となりました。フックが追加され、複数のルートパスを配列で設定できる仕様になっています。言うディレクトリパスを値に持つ配列です。値が追加された順に、ディレクトリパス内のテンプレートパーツのファイルが存在するかチェックし、ファイルが存在する場合にはそのテンプレートパーツを使用する仕様になっています。存在しない場合の最後は、テーマディレクトリを調べます。それでもファイルが存在しない場合は、テンプレートパーツファイルの読込みは行われません。テネーブル追加された順に読み込むので、配列の並び順が先頭にあればあるほど優先的になります。関数などを使うと配列の先頭に追加可能なので、フックの優先度でルートディレクトリの読込み順が必ずしも決まる訳じゃないよ。フックと言ったテンプレートパーツを処理するフックを実行されます。それらのフック処理に何らかの出力を行う処理があった場合は、その処理結果を出力します。テンプレートパーツファイルを必ず存在させる必要はありません。フックを処理する場合は、空の配列をすぐに返却させるのが良いでしょう。順にチェックしていくファイルチェック処理を行わなくすれば、少しの高速化も可能です。カスタマイズ用のテンプレートパーツを追加さて、テンプレートのルートディレクトリについて理解が深まったところで、カスタマイズ用のテンプレートパーツを追加する場合も、どうすれば良いか見当がついたと思います。言ったファイルを配置するだけです。関数を使用して、テンプレートパーツを読み込みます。通常のテンプレートパーツと同じように読込まれます。フックなども処理した時に実行されます。ルミェール独自のテンプレートパーツでもテンプレート系のフックが自動的に呼ばれるようになることで、標準のテンプレートパーツのようにカスタマイズしやすくなるんだ。以降ではカスタムページテンプレートもプラグインで追加できるようになっています。カスタムページテンプレートの追加方法カスタムページテンプレートは、ページ編集画面で選択できるテンプレートのことです。フックを使用して設定してください。ディレクトリを新規生成します。ディレクトリ内でファイル作成などを行えば、プラグインでカスタムページテンプレートを作ることが可能になっています。追加で読込む処理を行なって適用するようにしてください。最後に本記事で解説をしたテンプレートのルートディレクトリについて理解すれば、ウェブサイトにオリジナルのテンプレートを追加しやすくなります。別記事も参考にし、上手く応用して制作を行ってみてください。予想以上にウェブサイトのデザインを思い通りにカスタマイズできるでしょう。挑戦してみてください。テーマカスタマイズでよく使われているテンプレート系フックの意図や最適解などについて整理をしました。開発者のキタジマタカシ氏から、フックに対する意見を頂きました。それをベースにテンプレート置換、定義、追加をプラグインでのカスタマイズで行う場合のフックの最適解についても整理をして考えてみました。テンプレートの書き換えとなります。書き換え用途ではなく、複数個フックした場合は最終のものだけが反映される形になって混乱するかなと思ったので、最初のだけ反映されるようにしています。これは基本エンドユーザーが使って、プラグインからは使わないほうがスマートかもしれませんね...。プラグイン」は、そのウェブサイトを彩る自分専用のプラグインなので、使用するのは非推奨ではありますが問題ないです。フックは、最初のコールバック処理だけが反映されるようにされています。プラグインで該当フックの処理を設定することを想定すると、外部プラグインの該当処理を行うことはコールバックを複数にしてしまうことから使用できません。フックを使用することをしない方が良いです。フックを使用した書き換えでも問題ないような感じがありました。Monkeyプラグイン」であれば、最初のコールバック処理だけが反映されるようにされていても、ほとんどのケースで大丈夫だからです。フックを使うのが意図や考えを踏まえた上での最適解でしょう。フックは、どう言う場合に使用するのが良いと言うことなのかを整理します。タカシ氏の返答よりが、意図としてあります。それが1つの解となります。関数を使って呼び出すことができます。フックがあれば、テンプレートがあるかのように処理されます。フックと組み合わせることで新しくテンプレートを作る必要がありません。フックを使用していても全く問題ないでしょう。ライブラリを用いたほうが良いのではないかと思います。ディレクトリ用フックを定義できます。使用するのが良いと思っています。テーマと同じようにテンプレートパーツ機能を使用しやすくしてくれます。プラグイン」を使用している場合は、フックの意図に関して深く考えなくてもカスタマイズ可能です。カスタマイズプラグインを作る場合などは、フックの意図を正しく理解した上で開発しなければ、他のプラグインで置換できないなどの障害が発生します。カスタマイズするようにしましょう。