Je souhaite utiliser le slug de page comme taxonomie lors de l'appel d'une liste de publications personnalisées.
Cela marche:
<?php $page_slug = basename(get_permalink()); ?>
<?php echo $page_slug; ?>
Il montre "décembre 2017" sur la page.
Ainsi fait ceci:
<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>
Alors pourquoi ne puis-je pas obtenir que cela fonctionne:
<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>
Il montre "Test ne fonctionne pas.3" sur la page. Je ne suis pas bon à PHP alors je suis confus.
Dans votre requête de taxe, vous recherchez une chaîne au lieu d'une variable, le seul moment où elle correspondra si le terme est littéralement "$ page_slug". Vous devriez supprimer les guillemets simples autour du $page_slug
pour le faire analyser en tant que variable, ainsi:
'terms' => '$page_slug'
devrait être:
'terms' => $page_slug,