我赞成有两个单独的页面,因为这给了你永久链接的所有力量,可以直接访问特定的视频。这对您和您的访问者都有好处,因为内容可以更容易地共享。
从代码的角度来看,您可以应用DRY 原则,仍然使用单个视频。php和归档视频。php模板。看一看关于get_template_part 用于将模板拆分为子部分的函数。
例如,您将创建一个名为video-top.php 在页面顶部显示视频和另一个名为video-list.php 这只是其他视频链接列表的一部分。
然后在模板中single-video.php 您可以在顶部显示特定视频,包括模板部分,然后是其他视频的自定义循环,但不包括顶部视频:
<?php
// the top video
if ( have_posts() ) {
while ( have_posts() ) {
get_template_part( \'video\', \'top\' ); // includes video-top.php
} // end while
} // end if
// The list of other videos
$video_query = new WP_Query( array( \'post_type\' => \'video\', \'post__not_in\' => array( get_the_ID() ) ) );
if ( $video_query->have_posts() ) {
echo \'<ul>\';
while ( $video_query->have_posts() ) {
$video_query->the_post();
get_template_part( \'video\', \'list\' ); // includes video-top.php
}
echo \'</ul>\';
}
/* Restore original Post Data */
wp_reset_postdata(); ?>
这些文件的内容可能如下所示:
<li><a href="<?php echo get_permalink( get_the_ID() ) ?>"><?php the_title() ?></a></li>
并且在
video-top.php:
<h1><?php the_title() ?></h1>
<?php the_content() ?>
在中
archive-video.php 您的循环可能如下所示:
<?php
// the top video
if ( have_posts() ) {
while ( have_posts() ) {
if ( 0 == $current_post ) { // only runs for the first video
get_template_part( \'video\', \'top\' ); // includes video-top.php
} else {
get_template_part( \'video\', \'list\' ); // includes video-list.php
}
} // end while
} // end if
$current\\u post是一个全局变量,在循环期间可用,并对每个post进行计数。