wordpress 如何在此短码中显示从ACF字段拉取的特色图像

ix0qys7i  于 2023-04-20  发布在  WordPress
关注(0)|答案(1)|浏览(119)

我使用下面的短代码,它从一个ACF文章对象字段中提取,并在列表中显示文章标题作为链接:

function related_for_products( $atts ) {
global $post;
$related = get_field('product_related');
$html = '';
if( $related ) {
    $html .= '<ul>';
    foreach( $related as $option ) {
        $permalink = get_permalink( $option->ID );
        $title = get_the_title( $option->ID );
        $html .= '<li><a href="'. esc_url( $permalink ) . '">' . esc_html( $title ) . '</a></li>';
    }
    $html .= '</ul>';
}
return $html;
}
add_shortcode( 'related', 'related_for_products' );

我怎样才能将文章的图片添加到link元素中,这样标题和图片都能显示,并且都链接到文章?我已经尝试了以下方法和变体,但我一定是语法错误,因为我要么得到一个空的图片元素,要么什么都没有。

function related_for_products( $atts ) {
global $post;
$related = get_field('product_related');
$html = '';
if( $related ) {
    $html .= '<ul>';
    foreach( $related as $option ) {
        $permalink = get_permalink( $option->ID );
        $title = get_the_title( $option->ID );
        $featured = get_the_post_thumbnail_url( $option->ID );
        $html .= '<li><a href="'. esc_url( $permalink ) . '">' . esc_html( $title ) . ' <img src="'. esc_url( $featured ) . '"></a></li>';
    }
    $html .= '</ul>';
 }
 return $html;
 }
 add_shortcode( 'related', 'related_for_products' );
ogsagwnx

ogsagwnx1#

你可以试试用

get_the_post_thumbnail($option->ID, "full")

这将为您提供完整的图像与源集等。
它可能看起来像这样:

$html .= '<li><a href="' . esc_url( $permalink ) . '"><h3>' . esc_html( $title ) . '</h3>' . $featured  . '</a></li>';

也许查看得到输出的实际HTML(inspector或view-source),您将能够看到为什么您的图像是空的。
最后,(如果还没有)使用var_dump($featured);这样你就可以看到返回的是什么。

相关问题