这里有一个非常基本的示例,它应该做您需要它做的事情。基本上,我们会获取自定义帖子类型中的所有帖子,然后逐个循环浏览它们。当我们找到带有“promote\\u to\\u homepage”的集合时,我们会呈现一些显示并退出循环:
// Query for all posts in the post type "vendors"
query_posts( \'post_type=vendors\' );
$exitloop = false;
// Start the loop
while ( have_posts() ) : the_post();
// Is this post the featured post?
$featured = get_field( \'promote_to_homepage\', $post->ID, true ) ;
if ( $featured ) { ?>
// This is our featured post, so display it and set $exitloop so we quit
$exitloop = true;
<div id="vendor-img">
<img src="<?php the_field(\'vendor_logo\'); ?>"/>
</div>
<h5><?php the_title(); ?></h5>
<?php }
if ( $exitloop ) break;
endwhile;
不过,有更优雅的方法可以做到这一点。没有
get_field()
函数,所以我假设您使用的是高级自定义字段插件。如果是,此字段存储在元键中,也可以通过以下方式检索:
get_post_meta( $post->ID, \'_promote_to_homepage\', true );
这意味着您可以执行自定义查询,只选择一篇包含特定元键的文章:
$args = array(
\'post_type\' => \'vendors\',
\'posts_per_page\' => 1,
\'meta_query\' => array( array(
\'key\' => \'_promote_to_homepage\',
\'value\' => true,
\'compare\' => \'=\'
) )
);
$custom_query = new WP_Query( $args );
// Start the loop
while ( $custom_query->have_posts() ) : $custom_query->the_post();
?>
<div id="vendor-img">
<img src="<?php the_field(\'vendor_logo\'); ?>"/>
</div>
<h5><?php the_title(); ?></h5>
<?php
endwhile;