基于Metabox选择在主页上显示自定义帖子

时间:2014-12-17 作者:user3756781

我正在尝试根据所选内容向我的主页显示帖子。我的意思是,在后端,我有一个自定义帖子,其中有一个标记为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\',
 ),

2 个回复
最合适的回答,由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 );
?>
从那里,您可以运行自定义循环并根据需要提取元数据。

SO网友:Amarendra Kumar
<?php
   $args = array(
   \'post_type\'  => \'product\', /* your Custom post slag */
   \'meta_key\'   => \'_wla_homepage_slider_checkbox\',
   \'meta_value\' => \'on\',
   \'posts_per_page\' => 15, 
   \'no_found_rows\' => true
   );
 $query= new WP_Query( $args );
?>
结束

相关推荐

Wordpress HTTPS redirect loop

我一直在努力让HTTPS在我的网站上发挥作用,现在已经有十多个小时了。我头痛得厉害,想自己治好。我想让你明白,我尝试了几种不同的方法来解决这个令人惊叹的社区,只是作为最后的手段。如果有人能帮助我,我将不胜感激。该网站在Apache上运行,conf文件如下所示:# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [