ACF Query Structure

时间:2018-01-26 作者:DJP2019

不知道是否有人能教我一些知识。我有一个显示特征图像和链接等的查询,但我想在其中添加一个,如果存在视频,请使用该代码而不是特征图像。

所以我想我可以在ACF插件中添加一个带有嵌入代码或视频链接的自定义字段,我正在使用该插件,但不确定如何在现有查询中构造查询,这有意义吗?

<?php 
   // the query
   $the_query = new WP_Query( array(
    \'category\' => \'Publish\',
    \'category__not_in\' => 36 ,
    \'orderby\' => \'rand\',
    \'order\'   => \'ASC\',
     \'posts_per_page\'=>\'12\'
   )); 
?>
<div class="">
<?php if ( $the_query->have_posts() ) : ?>
  <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<div class="col-md-4 col-sm-4 col-xs-12 reason">
    <h2 class="postheader"><?php the_title(); ?>    
    </h2>
<a target="blank" href="<?php the_field(\'url\'); ?>"><?php the_post_thumbnail(\'\', array(\'class\' => \'img-responsive\')); ?></a>
    <br><?php the_excerpt(); ?> <a class="postlink" target="blank" href="<?php the_field(\'url\'); ?>">Read more</a>
  </div>
  <?php endwhile; ?>
  <?php wp_reset_postdata(); ?>
<?php else : ?>
  <p><?php __(\'No News\'); ?></p>
<?php endif; ?>
</div>

1 个回复
SO网友:Wilco

因此,您需要检查来自acf的字段是否有值,如果是真的,则需要显示它。您可以这样做:

if( get_field( \'video\' ) ) {

    ?>

        <video width="320" height="240" controls>

            <source src="<?php echo get_field( \'video\' ); ?>" type="video/mp4">

        </video>

    <?php

}else{


    the_post_thumbnail(\'\', array(\'class\' => \'img-responsive\'));

}
这将检查名为“video”的字段中的值。如果有值,它将显示视频。如果没有视频,它将显示图像。

以下是在您自己的代码中添加的代码:

    <?php 
       // the query
       $the_query = new WP_Query( array(
        \'category\' => \'Publish\',
        \'category__not_in\' => 36 ,
        \'orderby\' => \'rand\',
        \'order\'   => \'ASC\',
         \'posts_per_page\'=>\'12\'
       )); 
    ?>
    <div class="">
    <?php if ( $the_query->have_posts() ) : ?>
      <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    <div class="col-md-4 col-sm-4 col-xs-12 reason">
        <h2 class="postheader"><?php the_title(); ?>    
        </h2>
    <a target="blank" href="<?php the_field(\'url\'); ?>"><?php 

if( get_field( \'video\' ) ) {

    ?>

        <video width="320" height="240" controls>

            <source src="<?php echo get_field( \'video\' ); ?>" type="video/mp4">

        </video>

    <?php

}else{

    the_post_thumbnail(\'\', array(\'class\' => \'img-responsive\'));

}?></a>
        <br><?php the_excerpt(); ?> <a class="postlink" target="blank" href="<?php the_field(\'url\'); ?>">Read more</a>
      </div>
      <?php endwhile; ?>
      <?php wp_reset_postdata(); ?>
    <?php else : ?>
      <p><?php __(\'No News\'); ?></p>
    <?php endif; ?>
    </div>
您仍然需要将代码中“video”的ACF字段名更改为您的字段名。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post