我正在尝试根据所选内容向我的主页显示帖子。我的意思是,在后端,我有一个自定义帖子,其中有一个标记为Assign to Home(分配给主页)的元框,下拉列表中有一个Yes(是)或No(否)选项。我试图做的是,当自定义帖子选择Yes(是)时,它将显示在主页上。当选择显示“否”时,将不会显示。
下面的代码是我试图用来调用我的帖子的代码。帖子类型和元键都是正确的,但当我尝试显示帖子时,会得到一个数组。
主页
<?php function posts_draft($meta_values) {
$args_draft = array(
\'numberposts\' => 3,
\'post_type\' => \'fe\', // set you custom post type
\'meta_key\' => \'_cmb_homeDisplay\',
\'meta_value\' => $meta_values,
);
$my_posts_draft = get_posts( $args_draft );
$posts_draft = get_posts($my_posts_draft);
return $posts_draft;
}
{
echo posts_draft(\'yes\');}
?>
<?php if ( $fleet->have_posts() ) : while ( $fleet->have_posts() ) : $fleet->the_post(); ?>
<div class="fleetBox">
<img src="<?php echo get_post_meta($post->ID, "_cmb_limoThumbnail", true); ?>" />
<ul>
<li><h3><?php the_title( \'\' ); ?></h3></li>
<li><h4>Luxury <?php echo get_post_meta($post->ID, \'_cmb_limo_select\', true); ?></h4></li>
<li><a href="<?php echo get_permalink(); ?>">More Details</a></li>
</ul>
</div>
<?php endwhile; endif; ?>
我知道这可能没有什么帮助,因为它的代码数量很少,但这就是我用来显示下拉列表的内容。这段代码是我正在使用的完全自定义post类型中的一个小片段。
此代码段使用的post类型是FEM,分配给所有前缀id的元键是cmb
array(
\'name\' => \'Display Home\',
\'desc\' => \'Select an option\',
\'id\' => $prefix . \'homeDisplay\',
\'type\' => \'select\',
\'options\' => array(
\'custom\' => __( \'Select...\', \'cmb\' ),
\'standard\' => __( \'Yes\', \'cmb\' ),
\'none\' => __( \'No\', \'cmb\' ),
),
\'default\' => \'custom\',
),
最合适的回答,由SO网友:mrbobbybryant 整理而成
我看起来您正在使用定制的元框和字段github repo,这是一个很棒的库。我认为您需要做的主要事情是一个新的WP\\u查询。下面是一个实际的例子。唯一的区别是,在我的示例中,我在自定义帖子类型上设置了“分配到主页”复选框。
<?php
$args = array(
\'post_type\' => \'testimonial\',
\'meta_key\' => \'_wla_homepage_slider_checkbox\',
\'meta_value\' => \'on\',
\'post_per_page\' => 100, /* add a reasonable max # rows */
\'no_found_rows\' => true, /* don\'t generate a count as part of query, unless you need it. */
);
$testimonials = new WP_Query( $args );
?>
从那里,您可以运行自定义循环并根据需要提取元数据。