Wordpress如何在最近的文章中将类别ID作为类名


Wordpress how to echo Category ID as class name in Recent Posts

我试图在wordpress中检索自定义小部件中的帖子列表,我想根据每个项目的类别名称(或分段)分配每个li类名称。我想我很接近,但唉,我的类名显示为空。我不是最擅长PHP的,我确定这是一个语法问题…以下是我目前的进展:

<ul>
<?php
    $args = array( 'numberposts' => '5' );
    $recent_posts = wp_get_recent_posts( $args );
    $categories = get_the_category($args);
    foreach( $recent_posts as $recent ){
        echo '<li class="' . $categories["Post_ID"]->slug . '"><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' .  get_the_post_thumbnail($recent["ID"]) .   $recent["post_title"].'</a> </li> ';
    }
?>
</ul>

get_the_category期望一个post_id,而不是一个帖子数组。

试试

$args = array( 'numberposts' => '5' );
$recent_posts = wp_get_recent_posts( $args );
foreach( $recent_posts as $recent ){
    $categories = get_the_category($recent["ID"]);
    echo '<li class="' . $categories[0]->slug . '"><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' .  get_the_post_thumbnail($recent["ID"]) .   $recent["post_title"].'</a> </li> ';
}

我不确定密钥名称是否实际上是"ID"或"Post_ID"(您似乎正在使用两者)。