WordPress では、add_theme_support
という関数が用意されています。functions.php
等で設定フラグを立てると、その機能が利用可能になる、というものです。アイキャッチ画像等で活用されています。
Hybrid テーマフレームワークでは、投稿毎にスタイルシートを設定したい場合、add_theme_support( 'post-stylesheets' );
と記述すると、投稿画面でスタイルシートファイルを指定することができます。(WordPress の標準テーマではこの機能は実装されていないようです。)
どういう実装なのか調べてみました。require_if_theme_supportsという関数が用意されていて、add_theme_support
で指定した機能に対応するファイルを require で呼び出す、という形のようです。
呼び出されるファイルは、library/extensions/post-stylesheets.php
です。このファイルを読むと、管理画面(投稿画面)にスタイルシート設定用のメタボックスを追加したり、管理画面で指定されたファイルが存在すればブログのheader部分に表示したり、といったプログラムが実行されることが分かります。
WordPress 標準テーマ twentyeleven の functions.php では、twentyeleven_setup
で add_theme_support
が使用されています。アイキャッチ画像の他、投稿フォーマットやカスタム背景等が add_theme_support
で登録されています。