我对下面的代码有一个问题,当它涉及到显示一个基于特定元框填充的div时。我正在使用CMB2中的组元盒选择来处理我的元盒。截至目前,当填写newblock\\u url时,它只显示div,而不显示href,这是代码的else部分,当metabox为空时也是如此。我环顾了四周,但找到了一个解决方案,可以让if get\\u post\\u meta与一个可重复的组一起工作。删除if语句后,所有元盒名称都正确并正确显示。
可以更正此问题的if get\\u post\\u meta缺少什么?
<?php echo \'<section class="row cf">\';?>
<?php global $post; $entries = get_post_meta( get_the_ID(), \'news_group\', true ); foreach ( $entries as $key => $entry ) {?>
<?php if ( get_post_meta($post->ID, \'newblock_url\', true) ) : ?>
<a href="<?php echo $entries [$key][\'newblock_url\'];?>">
<article class="col-1 spotlight">
<?php if ( $entries [$key][\'news_image\'] ) : ?><img src="<?php echo $entries [$key][\'news_image\'];?>" alt="<?php echo get_the_title(); ?>"/><?php endif; ?>
<div class="spotlight-content">
<h5><?php echo $entries [$key][\'news_image_title\'];?></h5>
<p><?php echo $entries [$key][\'news_image_desc\'];?></p>
</div>
</article>
</a>
<?php endif; ?>
<article class="col-1 spotlight">
<?php if ( $entries [$key][\'news_image\'] ) : ?>
<img src="<?php echo $entries [$key][\'news_image\'];?>" alt="<?php echo get_the_title(); ?>"/><?php endif; ?>
<div class="spotlight-content">
<h5><?php echo $entries [$key][\'news_image_title\'];?></h5>
<p><?php echo $entries [$key][\'news_image_desc\'];?></p>
</div>
</article>
<?php } //endforeach ?>
<?php echo \'</section>\';?>
最合适的回答,由SO网友:TheDeadMedic 整理而成
你的问题不清楚实际问题是什么;凭直觉,应该是这样的:
if ( ! empty( $entries[ $key ][\'newblock_url\'] ) ) :
。。。而不是:
if ( get_post_meta( $post->ID, \'newblock_url\', true ) ) :