显示所有wp_GET_POST_TERMS插件

时间:2014-03-14 作者:AlbaClan

我使用以下代码来显示我的自定义分类slug。但是,它只显示第一个类别,而不是所有相关类别。我知道这相当简单,与[0]有关,但我不知道如何更改它。

$getslugid = wp_get_post_terms( $post->ID, \'opd_taggallery\' ); 
$getslug = $getslugid [0]->slug;
echo $getslug;

3 个回复
最合适的回答,由SO网友:fischi 整理而成

这更像是一个PHP问题,但解决方案很简单-您需要使用foreach-循环打开$getslug, 因为你只是附和了第一个分类法的鼻涕虫。

功能wp_get_post_terms() 不返回单个对象,而是返回一个对象数组。你是对的[0], 这表示您正在检查所述数组的第一个条目。

您的函数应该如下所示:

$getslugid = wp_get_post_terms( $post->ID, \'opd_taggallery\' ); 
foreach( $getslugid as $thisslug ) {

    echo $thisslug->slug . \' \'; // Added a space between the slugs with . \' \'

}

SO网友:s_ha_dum

WordPres核心功能wp_list_pluck() 应该让这变得相当容易。

$getslugid = wp_get_post_terms( $post->ID, \'opd_taggallery\' ); 
$slugs = implode(\', \',wp_list_pluck($getslugid,\'slug\'));
echo $slugs;

SO网友:JHoffmann

在较新的WordPress版本中,可以仅直接查询分类法段塞。我认为这是随着WP_Term_Query WP版本4.6.0中的类。

$slugs = wp_get_post_terms( $post->ID, \'opd_taggallery\', array( 
    \'fields\' => \'id=>slug\',
) );
echo implode( " ", $slugs );

结束

相关推荐

我可以在‘Get_the_Terms’中使用自定义元值吗?

我有一个自定义页面模板,这是我试图操纵的代码,根据我为特定页面编写的自定义元值进行更改。$terms = get_the_terms($post->id, \'custom-taxonomy\' ); 在CPT页面上,我有一个自定义元字段“分类名称”,自定义元值是“自定义分类”我试图用上面的代码做的是:$terms = get_the_terms($post->id, get_post_meta($post->ID,\'metafield-taxonomy-name\',TRU