Get_the_Terms,我应该使用字符串还是数组作为第二个参数?

时间:2021-12-07 作者:alancc

当我在我的一个页面上运行查询监视器时,我收到一个通知;数组到字符串的转换;对于以下行:

      $terms = get_the_terms( $post->ID , array( \'product-categories\') );
然后,我在以下位置查看文档以获取\\u\\u术语:https://developer.wordpress.org/reference/functions/get_the_terms/, 第二个参数是字符串。

然而,在进一步阅读之后,我在上面的链接中发现了一些示例,一些示例直接使用字符串,如下所示:

$terms = get_the_terms( $post->ID , array( \'teams_positions\') );
但有些人使用数组,如下所示:

$post_categories = get_the_terms( $post->ID, \'category\' );
所以我完全糊涂了。

1 个回复
SO网友:Buttered_Toast

根据文档,它应该是字符串。

注意这一行$terms = get_object_term_cache( $post->ID, $taxonomy );

这个get_object_term_cache( int $id, string $taxonomy ) 始终希望第二个(必需)参数是字符串,因此如果将数组作为第二个参数传递给get_the_terms 您将获得Array to string conversion 注意

第二个参数应该始终是字符串,这些示例可能是旧的,并且函数可能已在较新版本中更新。

有关更多信息,我将查看版本中的wordpress更改日志,可能在那里您会发现此函数带有第二个参数,用于接受数组和字符串。

相关推荐

Foreach循环内的if/ellif in_array仅显示一个POST的问题

如果某个类别的帖子对应一个类别,我会尝试为每个帖子指定一个特定的背景色。我的函数可以工作,但仅限于在结果中显示一篇文章。如果我删除此功能,将显示所有帖子。更多信息:在我的页面上,我有按类别筛选帖子的按钮。如果单击一次,我将显示该类别的所有帖子。但每个帖子都包含几个类别。我选择了一些类别来为每个帖子设置背景色,但这些类别与过滤器按钮不同。Wordpress显示此错误;您的站点出现严重错误,请了解有关调试WordPress的详细信息"E;在显示第一个帖子之后。以下是我的全部代码:<?php&#x