Show only one category

时间:2015-12-22 作者:Mary Velloso

我有以下代码来显示类似cathegory的图像:

<?php 
foreach((get_the_category()) as $cat)
{
    $catname =$cat->category_nicename;
    echo "<a href=\\"/category/";
    echo $catname;
    echo "/\\">";
    echo "<img src=\\"/wp-content/categorias/";
    echo $catname;
    echo ".png\\" alt=\\"$catname category image\\" /></a>\\n";
}
?>
问题是:我只想按帖子显示一个类别,因为我有很多帖子包含多个类别。我只想显示一个类别。

1 个回复
SO网友:Pieter Goosen

圣诞节版

由于圣诞节时间和我的大脑遇到了一些严重的技术难题,我get_the_category()get_the_categories 过滤器混淆。

以下是修改后的过滤器功能,工作:

您还可以使用get_the_categories filter

add_filter( \'get_the_categories\', function ( $categories )
{
    // Only return the first object in the array
    return $cat[] = $categories[0];
}); 
原始答案,因为您将所有内容直接传递给foreach 循环,最容易break 第一次迭代后的循环

<?php 
foreach((get_the_category()) as $cat)
{
    $catname =$cat->category_nicename;
    echo "<a href=\\"/category/";
    echo $catname;
    echo "/\\">";
    echo "<img src=\\"/wp-content/categorias/";
    echo $catname;
    echo ".png\\" alt=\\"$catname category image\\" /></a>\\n";

    // Lets break the loop after one iteration
    break;
}
?>

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请