😌

WordPress引数を渡して部分テンプレートを読み込む方法

2021/05/05に公開

2020/12/31 version 5.5から引数が渡せるようになりました
https://make.wordpress.org/core/2020/07/17/passing-arguments-to-template-files-in-wordpress-5-5/

使い方

呼び出し元

get_template_part( "articles", null, array( "title" => "タイトル" ) );

受け取り先

echo esc_html( $args["title"] );

複数の場合はarrayの中身を増やせばOK

get_template_part( "articles", null, array( "title" => "タイトル","description" => "ディスクリプション" ) );

ちなみにversion 5.5以前の場合だとこんな感じで書いてました

functions.php などに

function get_template_part_args($template_name, $args = null) {
  if (isset($args)) {
    foreach ($args as $key => $value) {
      set_query_var($key, $value);
    }
  }
  get_template_part($template_name);
}

を書いて

呼び出し元

get_template_part_args( "articles", array( "title" => "タイトル" ) );

受け取り先

echo esc_html( $args["title"] );

set_query_varの関数リファレンスはこちら。
https://developer.wordpress.org/reference/functions/set_query_var/

GitHubで編集を提案

Discussion