Using page slug in array

时间:2018-02-27 作者:user6744245

我想在调用自定义帖子列表时使用页面slug作为分类法。

这项工作:

<?php $page_slug = basename(get_permalink()); ?>
<?php echo  $page_slug; ?>
页面上显示“2017年12月”。

这也是:

<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>
页面上显示“测试不工作。3”。我不擅长PHP,所以我很困惑。

1 个回复
最合适的回答,由SO网友:Xhynk 整理而成

在税务查询中,您正在搜索一个字符串而不是一个变量,当前唯一匹配的时间是术语是否字面上是“$page\\u slug”。您应该删除$page_slug 将其解析为变量,因此:

\'terms\' => \'$page_slug\'
应为:

 \'terms\' => $page_slug,

结束

相关推荐

Pages>max_num_ages不会抛出404

我在WP管理中创建了一个名为Blog的新页面,并为其创建了自定义页面模板。在模板中,我有一个简单的分页自定义查询。$query = new WP_Query(array( \'post_type\' => \'post\', \'posts_per_page\' => 1, \'paged\' => $paged )); 看起来一切正常,除了我手动键入比url的“/页/”部分后可用的页码更大的页码。页面不会抛出404错误,但会在没有自定义循环的情况下将页面呈现为正常。