php 尝试按ID获取自定义分类中名为“pwb-brand”的术语的名称

mrwjdhj3  于 2022-11-28  发布在  PHP
关注(0)|答案(2)|浏览(141)

我已经研究了一段时间,试图找到类似的东西。我敢打赌,确实有--只是我似乎找不到。
基本上,我尝试做的是按ID获取位于自定义分类中的术语的名称。
该分类称为pwb-brand
术语ID从高级自定义字段the_sub_field('varumarke')生成
我所得到的回报是术语的ID,但我没有得到所希望的名称。

<?php $brands = get_term_by('id', the_sub_field('varumarke'), 'pwb-brand'); ?>
<?php foreach( $brands as $brand ):
    echo '<h2>' . $brand->name . '</h2>';
endforeach; ?>
qhhrdooz

qhhrdooz1#

WordPress的经验法则:名为the_something的函数通常直接写入输出缓冲区,而其对应的get_something函数返回值。

get_term_by('id', the_sub_field('varumarke'), 'pwb-brand');

实际上,这里并没有为第二个参数传递任何值,因为the_sub_field会回显该值,并且不返回任何值。
您需要在此处改用get_sub_field

rpppsulh

rpppsulh2#

您要将$brands赋给get_term_by形式的单个搜索项返回的值a-如果要循环遍历brands数组,则需要使用以下形式获取多个搜索项:

$brands = get_terms( array(
    'taxonomy' => 'pwb-brand',
));

然后循环$brands中的每个$brands以获取名称。the_sub_field中的值实际上是一个ID吗?您应该在每个阶段都转储变量以检查值是否是您所期望的值,并从那里向后工作。

echo '<pre>';
var_dump( $brands );
echo '</pre>';
die();

相关问题