从类别ID返回类别插件/标题

时间:2013-07-06 作者:user1374796

我设置了一个自定义字段,返回所选类别的类别ID,我希望使用此类别ID在一个实例中显示:category slug,另一个实例中显示:category title

字段get的调用非常简单,如下所示:<?php the_field(\'category_test\'); ?> 并返回ID,在这种情况下4.

是否可以使用此字段返回类别slug,也可以使用它返回类别标题?我真的不确定如何或是否可以做到这一点。如有任何建议,将不胜感激!

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

get_category 将返回两种情况下所需的所有信息。

$catinfo = get_category(get_field(\'category_test\'));
从Codex中,这将为您提供(显然是样本数据):

stdClass Object
(
    [term_id] => 85
    [name] => Category Name
    [slug] => category-name
    [term_group] => 0
    [term_taxonomy_id] => 85
    [taxonomy] => category
    [description] => 
    [parent] => 70
    [count] => 0
    [cat_ID] => 85
    [category_count] => 0
    [category_description] => 
    [cat_name] => Category Name
    [category_nicename] => category-name
    [category_parent] => 70
)

我很确定get_field 是正确的。

get_category 适用于我尝试过的每个类别ID,并且NULL 对于错误的类别ID,但根据下面的讨论,get_field 可以返回数组。当这种情况发生时get_category 显示按ID返回数据库中的第一个类别,即uncategorized 默认情况下为类别。这可以通过以下内容进行演示。

var_dump(get_category(array(8,9,10)));
因此,您需要:

$cat_field = get_field(\'category_test\');
if (is_array($cat_field)) {
  $cat_field = $cat_field[0];
}
$catinfo = get_category($cat_field);
要获取任何特定字段,只需使用标准对象语法。Fpr示例:

echo $catinfo->slug;

$cname = $catinfo->name;

结束

相关推荐

Get categories without post

我想得到没有帖子的类别。下面是使用post获取类别的sql。。SELECT terms.term_id,terms.name,COUNT(post.ID) FROM wp_posts as post JOIN wp_term_relationships as rel ON post.ID = rel.object_ID JOIN wp_term_taxonomy as ttax ON rel.term_taxonomy_id = ttax.term_taxonomy_id JOI