カスタム投稿のリストを呼び出すときに、分類法としてページスラグを使用したいです。
これは動作します:
<?php $page_slug = basename(get_permalink()); ?>
<?php echo $page_slug; ?>
ページに "december-2017"が表示されます。
これもそうです:
<ul>
<?php
$args = array(
'post_type' => 'nomination',
'post_status' => 'draft',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'month_category',
'field' => 'slug',
'terms' => 'december-2017',
)
)
);
$the_query = new WP_Query( $args );
?>
<?php if ( $the_query->have_posts() ) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<li>
<?php the_terms( $post ->ID, 'dealership_category', '', '', '' ); ?><br>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br>
Submitted: <?php echo get_the_date( 'd/m/Y' ); ?>
</li>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else : ?>
<li>Nothing found.</li>
<?php endif; ?>
</ul>
それで、なぜ私はこれを働かせることができません:
<ul>
<?php $page_slug = basename(get_permalink()); ?>
<?php
$args = array(
'post_type' => 'nomination',
'post_status' => 'draft',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'month_category',
'field' => 'slug',
'terms' => '$page_slug',
)
)
);
$the_query = new WP_Query( $args );
?>
<?php if ( $the_query->have_posts() ) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<li>
<?php the_terms( $post ->ID, 'dealership_category', '', '', '' ); ?><br>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a><br>
Submitted: <?php echo get_the_date( 'd/m/Y' ); ?>
</li>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else : ?>
<li>Test not working.3</li>
<?php endif; ?>
</ul>
ページに「Test not working.3」と表示されます。私はPHPが得意ではないので混乱しています。
あなたの納税申告書では、変数ではなく文字列を検索しています。現在一致するのは、その用語が文字通り "$ page_slug"である場合だけです。変数としてパースするためには、$page_slug
を囲む一重引用符を削除する必要があります。
'terms' => '$page_slug'
する必要があります:
'terms' => $page_slug,