早上好,
我已经创建了一个自定义帖子类型 - 产品 - 以及我所拥有的自定义帖子类型 使用高级自定义字段插件创建了自定义字段 - featured_product。 当我创建自定义字段时,我使用True / False字段类型。
我正在尝试仅显示features_product复选框中的那些产品帖子 检查。
这是我目前的代码:
<?php query_posts(array(
'posts_per_page' => 3,
'post_type' => 'products',
'orderby' => 'post_date',
'paged' => $paged
)
); ?>
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<?php if(get_field('featured_product')){ ?>
<div id="post-<?php the_ID(); ?>" class="cpt">
<h2><?php the_title(); ?></h2>
<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail('excerpt');
}
?>
<?php the_excerpt(); ?>
<ul class="prod_detail">
<li><a href="<?php the_field('product_detail_page'); ?>">Learn More</a></li>
<li><a href="<?php the_field('purchase_link'); ?>">Place Order</a></li>
</ul>
</div>
<?php } ?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
问题是它只返回一个帖子 - 但我有3个帖子被检查为特色。
我在这里做错了什么?
非常感谢!
答案 0 :(得分:8)
我明白了:)
<?php query_posts(array(
'posts_per_page' => 3,
'post_type' => 'products',
'orderby' => 'post_date',
'meta_key' => 'featured_product', // the name of the custom field
'meta_compare' => '=', // the comparison (e.g. equals, does not equal, etc...)
'meta_value' => 1, // the value to which the custom field is compared. In my case, 'featured_product' was a true/false checkbox. If you had a custom field called 'color' and wanted to show only those blue items, then the meta_value would be 'blue'
'paged' => $paged
)
); ?>
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<div id="post-<?php the_ID(); ?>" class="cpt">
<h2><?php the_title(); ?></h2>
<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail('excerpt');
}
?>
<?php the_excerpt(); ?>
<ul class="prod_detail">
<li><a href="<?php the_field('product_detail_page'); ?>" target="_blank">Learn More</a></li>
<li><a href="<?php the_field('purchase_link'); ?>" target="blank">Place Order</a></li>
</ul>
</div>
<?php endwhile; ?>
<?php wp_reset_query(); ?>