在Wordpress中返回一个类别的名称

我有一个自定义帖子类型的循环,所有工作都很好,除非我无法返回该帖子分配给它的实际类别名称。在Wordpress中返回一个类别的名称

我有以下代码:

<?php 

$posts = get_posts(array(

'numberposts' => -1,

'post_type' => 'portfolio',

'orderby' => 'menu_order',

'order' => 'ASC'

));

if($posts) {

foreach($posts as $post) {

setup_postdata($post);

?>

<div>

<div class="mix <?php get_cat_name(); ?>" ><img src="<?php the_field('portfolio_image'); ?>" alt=""></div> <!-- ACF -->

</div>

<?php

}

}

wp_reset_postdata();

?>

这只是我曾尝试包括回声特林所有WP食品功能之一。我想我的问题是别的吗? 非常感谢提前。

回答:

根据codex的id是要求这个方法(https://codex.wordpress.org/Function_Reference/get_cat_name)。退出ID不起作用。

一个解决方案是使用get_the_category($postId)来检索您的帖子的类别(https://codex.wordpress.org/Function_Reference/get_the_category)。你可以离开了这里的帖子ID

POST_ID (整数)(可选)的帖子ID。 默认值:$ post-> ID(当前帖子ID)

请注意,该方法返回一个对象 - 而不是类别名称。你可以试试下面的代码,看看它的工作:

<?php 

$category = get_the_category();

echo $category[0]->cat_name;

?>

回答:

试试这个代码

 <?php $terms = get_the_terms($post->ID, 'TAXONOMY'); 

if ($terms && ! is_wp_error($terms)) :

$term_slugs_arr = array();

foreach ($terms as $term) {

$term_slugs_arr[] = $term->name;

}

$terms_slug_str = join(" ", $term_slugs_arr);

endif;

echo $terms_slug_str;?>

回答:

替换代码

get_cat_name();

$categories = get_the_terms($post->ID,'custom-texonomy-name');     

$cat = key($categories);

echo $categories[$cat]->name;

以上是 在Wordpress中返回一个类别的名称 的全部内容, 来源链接: utcz.com/qa/262411.html

回到顶部