为‘TAX_QUERY’=>ARRAY()输出术语数组

时间:2021-11-15 作者:BlueDogRanch

我正在尝试使用后端的自定义字段在前端的类别归档的WP\\U查询中设置分类法。

在页面模板中。这将从自定义字段中获取我的类别:

$terms = get_field(\'add_categories_custom_template\', $term->term_id);

if( $terms ):
foreach( $terms as $term ): 

echo $term; echo \',\';

endforeach; 
endif; 
这给了我如下输出:

12,345,900,

但我如何将输出输入到\'terms\' => array 对于tax_query? 我需要的是以这种方式输出的ID数组:

\'tax_query\' => array(
        array(
            \'taxonomy\'  => \'product_cat\',
            \'field\'     => \'term_id\',
            \'terms\'     => array(\'12,345,900\'),  // output this way
            \'operator\'  => \'IN\',
        )
   )
但是这样做

$terms = get_field(\'add_categories_custom_template\', $term->term_id);

if( $terms ):
foreach( $terms as $term ): 

$my_terms = $term; echo \',\';

endforeach; 
endif; 
还有这个

\'tax_query\' => array(
        array(
            \'taxonomy\'  => \'product_cat\',
            \'field\'     => \'term_id\',
            \'terms\' => array($my_terms),
            \'operator\'  => \'IN\',
        )
   )
仅输出第一个$期限(即12),而不输出后续期限(345和900)。

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

如果您需要将其转换为一个ID数组,那么它已经是一个ID数组了,您不需要对它做任何工作,它已经以完美的形式直接进入terms 参数

e、 g。

    \'terms\' => $terms,
但唯一需要注意的是get_field 不是WordPress函数,而是ACF函数,您需要处理此字段没有值或发生错误的情况。您需要询问如何在ACF社区中或通过他们的支持来处理这一问题,因为ACF领域在这里是无关紧要的。

相关推荐

Custom Taxonomy Page

我正在尝试创建一个显示特定类别的所有子类别的页面。所以在上下文中,我有一个标题为“目的地”的父类别。我希望能够点击目的地,并被引导到一个页面,显示子类别或国家的列表。下面是我试图实现的一个示例,减去顶部的地图-https://www.vagabrothers.com/destinations. 在理想情况下,类别页面的布局将与此页面相同。你可以从上面的例子中看出我的意思。它会使网站上的导航像这样:目的地>国家>个人帖子。我正在使用CPT UI,设置了一个名为“目的地”的自定义帖子类型和类别,然