我已经设置了一个名为“视频”的自定义帖子类型。我已经为“视频”指定了一个ACF oEmbed自定义字段。
在归档页面上,我有一个循环,用于查询自定义帖子类型并显示所有视频。
我只想自动播放顶部发布的第一个(最新)视频。我使用的当前方法(如下)将自动播放参数添加到每篇文章中。
是否有办法将此参数移动到自定义帖子类型查询,并仅将其应用于第一篇帖子?
Here\'s what I have so far:
<?php // Begin main loop
while ( have_posts() ) : the_post(); ?>
<?php // Query custom post type
$args = array(
\'post_type\' => \'videos\',
\'posts_per_page\' => 12
);
$get_videos = new WP_Query( $args );
while ( $get_videos->have_posts() ) :
$get_videos->the_post();
?>
<?php // ACF video
$video = get_field(\'video_oembed\');
preg_match(\'/src="(.+?)"/\', $video, $matches);
$src = $matches[1];
$params = array(
\'showinfo\' => 0,
\'autoplay\' => 1
);
$new_src = add_query_arg($params, $src);
$video = str_replace($src, $new_src, $video);
$attributes = \'frameborder="0" scrolling="no"\';
$video = str_replace(\'></iframe>\',\'\'.$attributes.\'></iframe>\',$video);
echo \'<div class="video">\' .$video. \'</div>\';
?>
<?php // End query custom post type
endwhile;
wp_reset_postdata();
?>
<?php // end main loop
endwhile; ?>
最合适的回答,由SO网友:TheDeadMedic 整理而成
使用属性current_post
的WP_Query
对象-第一篇帖子将为零:
if ( $wp_query->current_post === 0 )
// First post in main loop
if ( $get_videos->current_post === 0 )
// First video in current videos loop