WordPress のカスタム投稿タイプと既存のテンプレートに統合する方法についてはまだコツをつかんでいますが、思いついたコードを単純化できるかどうかについて簡単な質問があります。
1 つの特定のテンプレートから呼び出す必要がある複数のページがあり、各ページとそれに対応するカスタム投稿タイプ コードを呼び出す条件ステートメントを追加しましたが、基本的に各条件ステートメントのほとんどのコードを繰り返しているので、このコードを簡素化する方法があったかどうか疑問に思っています:
<div class="row">
<?php if (is_page(165)) {
$args = array(
'post_type' => 'restaurant',
'paged'=>$paged,
'orderby'=>'title',
'order'=>'ASC',
'tax_query' => array(
array(
'taxonomy' => 'restaurant_category',
'field' => 'slug',
'terms' => 'sooke'
)
)
);
$restaurants = new WP_Query( $args );
if( $restaurants->have_posts() ) {
while( $restaurants->have_posts() ) {
$restaurants->the_post();
?>
<div class="col-sm-4 col-md-4">
<h1><?php the_title() ?></h1>
<?php the_content() ?>
</div>
<?php
}
}
else {
echo 'No Restaurants';
}
} ?>
</div>
<div class="row">
<?php if (is_page(12)) {
$args = array(
'post_type' => 'restaurant',
'paged'=>$paged,
'orderby'=>'title',
'order'=>'ASC',
'tax_query' => array(
array(
'taxonomy' => 'restaurant_category',
'field' => 'slug',
'terms' => 'chilliwack'
)
)
);
$restaurants = new WP_Query( $args );
if( $restaurants->have_posts() ) {
while( $restaurants->have_posts() ) {
$restaurants->the_post();
?>
<div class="col-sm-4 col-md-4">
<h1><?php the_title() ?></h1>
<?php the_content() ?>
</div>
<?php
}
}
else {
echo 'No Restaurants';
}
} ?>
</div>
コードを何度も繰り返さないようにこのコードを単純化する方法があれば、カスタム投稿タイプ コードを使用して条件付きステートメントを作成する方法と作成しない方法を学ぶことができるように、その方法を教えていただければ幸いです。未来。前もって感謝します!
Dk-Macadamia の場合 (白い画面になる更新コード)
<?php $terms=array('165'=>'sooke','12'=>'chilliwack');
//now check it
if(has_term($terms))
{ ?>
<div class="row">
<?php
foreach($terms as $key=>$val)
{
if(is_page($key)) {
$args = array(
'post_type' => 'restaurant',
'paged'=>$paged,
'orderby'=>'title',
'order'=>'ASC',
'tax_query' => array(
array(
'taxonomy' => 'restaurant_category',
'field' => 'slug',
'terms' => $val
)
)
); ?>
</div>