前回※1、get_template_part()に引数を渡す方法を紹介しましたが、この方法では、
(1)呼び出す側にset_query_varと呼び出される側にget_query_varをその都度書かなければならないこと。
(2)PHPファイル別々に作成するので、見通しが悪くなること。
ことが、課題です。
そこで、今回は、これに代わる方法として、classを呼び出す方法を紹介します。
参考文献
参考記事
※1PHPのコードをパーツ化する方法(1)get_template_part()で引数を渡す方法この記事を参照している記事
コード例
事例1:WP_Queryの拡張②アレンジした方法
呼び出す側
$args = array(
'post_type' => 'glossary',
'key' => array('gloss_type','region'),
'value' => array('9851','9790')
);
$query = new Model36618($args);
Modelクラス
class Model36618 extends WP_Query
{
public function __construct($var)
{
//配列をオブジエクトに変換。
$par =(object)$var;
//クエリー
$args = array(
'post_type' => $par->post_type,
'meta_query' => array(
'relation' => 'AND',
array(
'key' => $par->key[0],
'value' => $par->value[0],
),
array(
'key' => $par->key[1],
'value' => $par->value[1],
)
)
);
$the_query = new WP_Query($args) ;
//ループ
if($the_query->have_posts()){
While($the_query->have_posts()){
$the_query->the_post();
//Viewの記述
$view_obj = new View36618($par2) ;
}
wp_reset_postdata();
}//endif
}
}
Viewクラス
class View36618
{
public function __construct($par2)
{
the_title() ;
echo "<br>\n" ;
}//endfunction
}//endclass
WordPressのカスタマイズの規模が大きくなると、8割~9割は同じようなPHPのコードを何度も書いていることがあります。このようなときは、別ファイルを作成してソースコードを分割し、コードを再利用することにします。
分割した別ファイルは、get_template_part()によって呼び出しますが、このとき、再利用の度合いを高めるために引数を渡したい場合があります。
WordPressCodexには、テンプレートに変数を渡す方法が解説されています。
今回は、一例として、引数taxと引数termを渡して、テンプレート側サブクエリーを実行する例を紹介します。
参考文献
参考記事
この記事を参照している記事
コード例
事例1:get_template_part()でサブクエリーを呼び出す方法
呼び出す側
$args = array(
'tax' => 'region',
'term' => '9789',
);
set_query_var( 'val', $args) ;
get_template_part( 'template-parts/sample/content', 'sample' );
呼び出される側
<?php
//引数を受け取り
$var = get_query_var('val');
$par =(object)$var;
//サブクエリー
$args = array(
'post_type' => 'post',
'tax_query' => array(
array(
'taxonomy' => $par->tax,
'field' => 'term_id',
'terms' => $par->term,
)
)
);
$the_query = new WP_Query($args) ;
//サブループ
if($the_query->have_posts()){
While($the_query->have_posts()){
$the_query->the_post();
//表示
the_title() ;
echo "<br>\n" ;
}
}//endif
築地(和風スナック)沢の鶴の看板。月島三丁目。築地(西仲通り商店街)明治時代の埋め立て工事により出来上がった町。
◆新型コロナウイルスの感染拡大に伴い、当面の間、散歩ブログの更新を休止致します。
◆ブログトップのURLを下記の通り変更しました。
ご迷惑をおかけしますが、よろしくお願い致します。
(変更前)http://kokontouzai.jp/sanpo
(変更後)http://kokontouzai.jp/blog/sanpo
◆新たに、ITに関するブログの掲載を始めました。
(URL)http://kokontouzai.jp/blog/it
参考文献
参考記事
茂原駅前に建つ駅前ビル。1階は、飲食店街になっています。

昔ながらの洋食屋。

店内は、バーのような雰囲気。

ナポリタンとビールを注文。

参考文献
参考記事
房総横断道路から北へ入った通り。

銭湯の桜湯があります。

ペンキで書かれた「桜湯」の文字

傍らには、桜の木。屋号の由来の木でしょうか。

参考文献
参考記事
房総横断道路沿い。

交差点脇に1軒屋の建物。

サロン(風俗店)と軽食が併設された店舗です。

現在は休業している模様です。

参考文献
参考記事
今回は、茂原(千葉県茂原市)の町並みを散歩します。
茂原の榎町商店街と駅前通り商店街は1970年代か ら1980年代に最盛期を迎えました。*1

現在も当時からの商店が建ち並んでいます。

商店街は500mほど続きます。東側の通りにも看板建築が残っています。

住居部分と一体となったお菓子屋さん。

参考文献
*1参考記事
佐竹商店街の東側(小島一丁目)の清洲橋通り。

三軒長屋の商店。色は3色です。

2階部分。

後方に、3階建て部分が見えます。

参考文献
参考記事
佐竹商店街から西へ入った路地。

看板建築の建物が残っています。

銅板建築。

隣のトタン建築の物干し台。

参考文献
参考記事
佐竹商店街(台東3丁目)は、江戸時代に佐竹藩の屋敷があたことから名づけられた商店街で、南北300mに及ぶ長大な商店街です。

商店街にある「吉田屋」。

「モスリン店」※1 の看板が掲げられています。」

竹久夢二の作品。
