web-dev-qa-db-fra.com

Utiliser un slug de page dans un tableau

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.

1
user6744245

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,
2
Xhynk