分类术语数组不起作用

时间:2013-07-22 作者:graphical_force

我正在研究一个解决方案,通过多个分类中的多个术语过滤自定义帖子类型。

这是我的代码:

<?php $term = "peoria,adams"; ?>

<div id="primary" class="content-area">
    <div id="content" class="site-content" role="main">

        <?php $term = explode(\',\', $term); ?>

        <?php $term_count = count($term); 
        $array_term = $term[0];
        ?>

        <?php 
            $i = 1;
            while ($i < $term_count) {
                $array_term = "\'" . $array_term . "\', \'" . $term[$i] . "\'";
                $i++;
            }
            ?>

        <?php echo $term = "array( ". $array_term . " )"; ?>

        <?php //echo $array_term; ?>

        <?php
            $args = array(
                \'post_type\' => \'property\',
                \'tax_query\' => array(
                    \'relation\' => \'OR\',
                    array(
                        \'taxonomy\' => \'Status\',
                        \'field\' => \'slug\',
                        \'terms\' => array( \'Locked\' )
                    ),
                    array(
                        \'taxonomy\' => \'County\',
                        \'field\' => \'slug\',
                        \'terms\' =>  $term
                    )
                )
            );
            $loop = new WP_Query( $args );
            while ( $loop->have_posts() ) : $loop->the_post();
                the_title();
                echo \'<div class="entry-content">\';
                echo get_the_post_thumbnail();
                the_content();
                echo \'</div>\';
            endwhile;
        ?>
我回音$term 它显示它应该显示的内容,但当我调用它时,它不工作\'terms\' => $term 它不起作用,但如果我用array( \'peoria\', \'adams\' ) 它起作用了。

我怀疑我在做什么蠢事,但我只是错过了。有人能帮我一下吗?

提前感谢!

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

问题似乎在这里:

\'terms\' =>  $term
在你的情况下,它就像:

\'terms\' =>  "array( \'peoria\', \'adams\' )"
但应该是这样的

\'terms\' =>  array( \'peoria\', \'adams\' )
通过查看代码片段,您可以尝试

\'terms\' =>  explode( \',\', $term );
explode 将返回您要查找的阵列。

因此,不应将数组构造为字符串。

例如,检查PHP手册arrays hereexplode here.

结束

相关推荐

ARRAY_REPLACE抛出php_warning,但仍在工作

您好,我有一个问题可能比WordPress更像PHP问题,但在WordPress上下文中可能会很有趣,以防有人想向WP对象添加属性。我创建了一个自定义分类法,并使用一个选项为每个术语添加顺序。为了获得主题中的顺序,我使用了这两个函数:第一个函数检索术语,然后对它们进行排序: // SORT BY ORDER function cmp( $a, $b ) { if( $a->order == $b->order ){ return 0 ; }