WordPressを弄る触る際にほとんどテンプレートがモジュール化されていないものに遭遇しました。その際、あーRailsぽい構成にしたいなーと思いyield的なことを実現するための実装例を記録しておきます。 もっとよくできるなーとかツッコミどころあるかも。
[function.php]
// yield
function content_for($name, $method = null) {
global $obj;
$obj->$name = $method;
}
function _yield($name) {
global $obj;
if ( $name === 'contents' ) {
return get_template_part('modules/contents/' . $obj->$name);
} else {
return get_template_part('modules/' . $name);
}
}
[layout.php]
_yield('header');
_yield('contents');
_yield('footer');
[index.php]
global $obj;
content_for('contents', 'home');
get_template_part( 'layouts' );
最後までお読みいただき、ありがとうございました。
ご意見などありましたら@hippohackへDMをお願いいたします。