GET_POST_META()不适用于循环内的第一个POST

时间:2019-11-16 作者:sialfa

我需要向wordpress循环中的每个div添加不同的自定义类。我读过post_class() 函数和过滤器,但我不确定这是否是一种很好的方法。现在我有了这个代码,我正在使用get_post_meta() 要获取我为要显示的类设置的自定义字段,但它只适用于显示的第二篇文章。是否有修复或我需要使用post_class() 相反

<?php $scrollable = new WP_Query( [\'post_type\' => \'home-slider\', \'posts_per_page\' => 3] ); ?>
<?php if( $scrollable->have_posts() ): while( $scrollable->have_posts() ): $scrollable->the_post(); ?>
<?php $class = get_post_meta($post->ID,\'class\',true); ?>
      <div class="col-sm-12 col-md-12 col-lg-12 img-<?php echo $class; ?>"> <!-- For each div of the loop I need to assign the img-top ecc... custom class -->
        <div class="row">
          <div class="col-sm-12 col-md-12 col-lg-12 img-text">
            <h1 class="">Hello</h1>
            <p class="lead">Nice to meet you.</p>
          </div>
        </div>
        <img class="img-fluid bg-img" src="<?php the_post_thumbnail_url(); ?>">
      </div>
<?php endwhile; ?>
<?php endif; wp_reset_postdata(); ?>

1 个回复
SO网友:Pradipta Sarkar

在这种情况下,请尝试创建这样的自定义sql查询。

global $wpdb;
$query = "SELECT meta_value FROM wp_postmeta WHERE post_id=your post id AND meta_key=\'class\';    
$results = $wpdb->get_row($query) ;  echo $results->meta_value;   

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在