WordPress 5.5.0から get_template_part()
に $args
パラメーターが追加されています。
get_template_part( string $slug, string $name = null, array $args = atarray() )
get_template_part() | Function | WordPress Developer Resources
WordPress 5.5.0から get_template_part()
に $args
パラメーターが追加されています。
get_template_part( string $slug, string $name = null, array $args = atarray() )
get_template_part() | Function | WordPress Developer Resources
例えば、こんなかんじで渡して、
get_template_part('product', null, array(
'title' => 'Apple',
'price' => 100,
));
こう使います。
<?php ['title' => $title, 'price' => $price] = $args; ?>
<h1><?= $title ?></h1>
<p><?= $price ?></p>
毎回 $args['title']
みたいに書いても良いのですが、上記のようにいちど変数に格納しても大丈夫です。
分割代入はPHP7.1以降で、キーの指定と、list()
だけでなく []
の書き方ができるようになっています。
関数リファレンス/get template part - WordPress Codex 日本語版 に記載があるように、 set_query_var()
を利用したこんな関数を用意していました。
function get_template_part_with_var($template_name, $var_array = null){
if (isset($var_array)) {
while (list($key, $val) = each($var_array)) {
set_query_var($key, $val);
}
}
get_template_part($template_name);
}
WordPress 5.5.0からこのような処理が不要になります。ひと手間減って便利ですね。
ちなみにここで使っている each
は、PHP 7.2.0で非推奨になり、PHP 8.0.0で削除されました。
今後は get_template_part()
をそのまま使っていきましょう。
ちなみに、同じくWordPress 5.5.0から、get_header()
や get_footer()
にも $args
が追加されています。