我有一个带有多个自定义字段的自定义帖子类型“团队”。我要创建一个简短代码,以在帖子具有该自定义字段的图片集时显示“ team_foto_met_koptelefoon”字段的值。
在每个页面加载中,都会加载来自另一个人的另一张图像,但是当该人没有图像时,它什么也不会显示。
我尝试编写一个查询来循环浏览所有帖子,但是它还会循环遍历没有图像的团队成员。
function dfib_team_spotify_shortcode( $atts ) {
ob_start();
$query = new WP_Query( array(
'post_type' => 'team',
'posts_per_page' => 1,
'order' => 'ASC',
'orderby' => 'rand',
) );
if ( $query->have_posts() ) { ?>
<?php while ( $query->have_posts() ) : $query->the_post(); ?>
<?php if( get_field('team_foto_met_koptelefoon') ): ?>
<img class="team__spotify__img" src="<?php the_field('team_foto_met_koptelefoon'); ?>">
<?php endif; ?>
<?php endwhile;
wp_reset_postdata(); ?>
<?php $myvariable = ob_get_clean();
return $myvariable;
}
}
add_shortcode( 'team__spotify', 'dfib_team_spotify_shortcode' );
我想做一个循环,检查哪个团队成员具有“ team_foto_met_koptelefoon”中设置的图像,并且只显示具有图像的成员,因此我不会出现空白。
答案 0 :(得分:0)
我自己添加了几行来找到解决方案:
<?php
function dfib_team_spotify_shortcode( $atts ) {
ob_start();
$query = new WP_Query( array(
'post_type' => 'team',
'posts_per_page' => 1,
'order' => 'ASC',
'meta_key' => 'team_foto_met_koptelefoon', //ACF field name
'meta_value' => ' ',
'meta_compare' => '!=',
'orderby' => 'rand',
) );
if ( $query->have_posts() ) { ?>
<?php while ( $query->have_posts() ) : $query->the_post(); ?>
<?php if( get_field('team_foto_met_koptelefoon') ): ?>
<img class="team__spotify__img" src="<?php the_field('team_foto_met_koptelefoon'); ?>">
<?php endif; ?>
<?php endwhile;
wp_reset_postdata();
$myvariable = ob_get_clean();
return $myvariable;
}
}
add_shortcode( 'team__spotify', 'dfib_team_spotify_shortcode' );
?>