我使用下面的短代码,它从一个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' );
1条答案
按热度按时间ogsagwnx1#
你可以试试用
这将为您提供完整的图像与源集等。
它可能看起来像这样:
也许查看得到输出的实际HTML(inspector或view-source),您将能够看到为什么您的图像是空的。
最后,(如果还没有)使用var_dump($featured);这样你就可以看到返回的是什么。