如何修复“类WP_TERM的对象无法转换为字符串”?

时间:2020-07-10 作者:09eric09

我基本上想循环浏览我的每一篇文章,并获得分类法/类别id。之后,我想将这些id输出到一个字符串中(不是作为数值),用空格分隔。

我在尝试回显字符串时出现以下错误:"Object of class WP_Term could not be converted to string"

以下是我目前掌握的情况:

  <?php
          $taxonomy = wp_get_object_terms($post->ID, \'categories\');
          $ids = "";
           
          foreach ($taxonomy as $cat) {
              $ids .= $cat;
        ?>

2 个回复
SO网友:mozboz

根据the docs for the Term object ID位于属性中term_id 因此,您需要:

    $ids = array();

    foreach ($taxonomy as $tax) {
        $ids[] = $tax->term_id;
    }

    $joinedIds = implode(" ", $ids);

    // do something with $joinedIds;

SO网友:shanebp

$cat 是一个对象,而不是字符串。您还缺少一个右括号。

尝试:$ids .= $cat->id . \' \';

查看返回的结构和数据通常很有帮助:

foreach ($taxonomy as $cat) {
   
    echo \'<pre>\'; var_dump( $cat ); echo \'</pre>\';

}

相关推荐

在WordPress编辑器中使用html定制页面,还是直接在php模板文件中编写?

我正在从以前构建的html站点构建一个自定义主题。我使用高级自定义字段设置了一些页面,以便客户端可以更改这些页面的部分内容。我使用page-{slug}设置它们。php。我还有一些根本不会改变的页面,也使用了page-{slug}来实现这些。。。。。将所有代码和内容都放在php模板中可以吗?因为如果有任何变化,我将是处理它们的人。此外,此主题永远不会被重新分发,因此不需要处理其他主题。谢谢你的帮助。。。