如何只循环没有帖子的类别(+用ACF显示类别特色图像)

时间:2019-01-14 作者:Mr Sag ich nicht

我想在我的博客上创建一个带有特色图片的分类循环。但我不知道我是如何做到这一点的。

您应该只看到类别列表,然后单击它们以获取类别网站。这就像一个只有类别的文章循环。

感谢您的帮助:)

enter image description here

2 个回复
SO网友:Krzysiek Dróżdż

嗯,在WP中,“循环”一词主要与帖子有关。更容易说您想要显示类别。

你所要做的就是让他们使用get_categories 功能并显示它们。

<?php
    $categories = get_categories( array(
        \'orderby\' => \'name\',
        \'order\'   => \'ASC\'
    ) );
    if ( ! empty( $categories ) ) :
?>
<ul>
    <?php foreach ( $categories as $category ) : ?>
    <li><a href="<?php echo esc_attr(get_category_link( $category->term_id ) ); ?>"><?php echo esc_html( $category->name ); ?></a></li>
    <?php endforeach; ?>
</ul>
<?php endif; ?>
如果要将类别标题更改为某个ACF自定义字段,请更改此部分:

<?php echo esc_html( $category->name ); ?>
收件人:

<?php echo wp_get_attachment_image( get_field(\'<FIELD_NAME>\', $category), \'full\' ); ?>
请记住更改为字段的真实名称。它应该返回图像的ID(而不是数组-您应该在字段设置中进行设置)。您还可以将“全尺寸”更改为其他尺寸。

SO网友:Nour Edin Al-Habal

关键是get_categories() 作用

您可以按如下方式使用它,请注意,我假设特征图像url存储在类别的元中,这可能不是您的情况:

$categories = get_categories();
if(count($categories)) {
    foreach($categories as $cat) {
        $catID = $cat->term_id;
        $img = get_term_meta($catID, \'featured_image\', true);
        $url = esc_url( get_category_link( $catID ) );
        echo "<a href=\'$url\'><img src=\'$img\' /></a>";
    }
} else {
    echo "No categories!";
}
以防您使用ACF image field 要将特色图像添加到类别中,最好使用get_field(\'featured_image\', \'category_\'.$catID) 而不是get_term_meta(). 这种情况下的代码取决于字段设置,因此我建议您阅读documentation here.

相关推荐

按ASC或DESC对wp_Dropdown_Categories进行排序

我有一个在标题中搜索的网站(anunciaya.es)。我想按名称ASC/DESC订购wp\\U下拉列表\\U类别,但它不适合我。\'排序依据\'=>;\'“名称”和“顺序”=>;\'DESC不适合我。有什么解决方案吗?以下是PHP代码:wp_dropdown_categories( array( \'show_option_none\' => $cat_text, \'option_none_value\' => \'\', \'ta