获取多个 post 内容

Get multiple post content

所以我在 wordpress 环境的 function.php 文件中,我想添加一个过滤器,允许我的一个插件选择多个自定义字段。更具体地说,我有这个搜索插件,它在带有图像的下拉菜单中显示结果,并在每个结果的右侧显示一个描述字段。我想要的是用一些自定义字段填充描述字段,一个列表显示在另一个下方。我知道的不多 php 所以我不知道我做错了什么。这是我的实际代码:

add_filter( 'asl_results', 'asl_get_the_content_after', 10, 1 );
function asl_get_the_content_after( $results ) {
    
    // Parse through each result item
    foreach ($results as $k=>&$r) {
        if ( isset($r->post_type) ) {
            $r->content = get_post_field('year', $r->id);
            $r->content = get_post_field('color', $r->id);
            $r->content = get_post_field('price', $r->id);
        }
    }
    return $results;
}

使用此代码,搜索结果仅显示最后一个字段。我真正想要的是在不同的行中显示所有这些自定义字段。我已经尝试将所有内容都放在一个自定义字段中,但它不考虑 space,将所有内容放在一行中。我该怎么办?

这种行为是预料之中的,因为在 IF 中,您要替换内容,而不是将其连接起来或将其添加到数组中。正确的是:

if ( isset($r->post_type) ) {
    if ( !$r->content ) $r->content = '';
    $r->content .= get_post_field('year', $r->id) . "<br>";
    $r->content .= get_post_field('color', $r->id) . "<br>";
    $r->content .= get_post_field('price', $r->id) . "<br>";
}