我正在尝试将数组传递给terms parameter. 基本上,我有一个“投资组合”custom post type 在那里我需要得到所有categories 并将其传递给术语,以便仅显示“筛选”结果,请查看以下代码:
if ( ! empty ( $categories ) ) {
foreach ( $categories as $cat ) {
$filter = get_term_by( \'id\', $cat, \'portfolio-category\' );
if ( ! empty( $filter ) ) {
$query_filter .= $filter->slug . \',\';
}
}
}
$args = array(
\'post_type\' => \'portfolio\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'portfolio-category\',
\'field\' => \'slug\',
\'terms\' => $query_filter,
)
),
\'paged\' => $paged,
\'posts_per_page\' => $projects_per_page,
);
问题似乎是因为“terms”得到的数组格式。如果我直接传递一个数组,如下所示:\'terms\' => array(\'one\', \'two\', \'three\'),
它确实可以工作,但我从$query\\u filter获得的结果,无论我是否首先使用str_replace (因为我得到了相同的结果“1”、“2”、“3”),所以它不起作用,我猜是因为数组格式。也许你们中的一些人可以帮我解决这个问题,因为这似乎是我的PHP逻辑中的一个非常基本的缺陷,而我缺少的地方。
非常感谢!