我有一个index.php页面,我在其中添加了以下代码,根据加载的页面显示不同的内容:
if( is_page( 'my-account' ) ) {
get_template_part( 'template-parts/my-account', 'account' );
} else if( is_home() || is_front_page() ) {
get_template_part( 'template-parts/album-grid', 'index' );
} else if( is_page( 'create-album') ) {
get_template_part( 'template-parts/create-album', 'create-album' );
}
在album-grid.php中,我正在使用WP_Query和分页。分页显示OK。当我点击下一步链接时,我会转到http://albumlocal.com/page/2
,但不会显示任何内容。我期待在这里看到下一组记录。
以下是album-grid.php
文件中的代码:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$posts = new WP_Query( array(
'taxonomy' => 'album-category',
'post_type' => array('albums'),
'posts_per_page' => 10,
'paged' => $paged,
)
);
if( $posts->have_posts() ) { ?>
<div class="grid-table" xmlns="http://www.w3.org/1999/html">
<?php
while ( $posts->have_posts() ) :$posts->the_post(); ?>
<a class="grid-anchor" href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
<div class="grid-col">
<h3><?php the_title(); ?></h3>
<div class="grid-thumbnail">
<?php the_post_thumbnail('home_grid_thumbnail'); ?>
</div>
<div class="grid-action">
<i class="fa fa-camera"></i> Photos
</div>
</div>
</a>
<?php
endwhile;
wp_reset_query(); ?>
</div>
<?php } ?>
<div class="clear"></div>
<?php echo paginate_links( array(
'total' => $posts->max_num_pages,
'mid_size' => 2,
'format' => 'page/%#%'
)); ?>
我认为当我在第二页或任何子页面(例如http://albumlocal.com/page/2
)is_home()
或is_front_page()
不再满足时,因此它不会加载所需的模板部分{{ 1}}。
album-grid.php
我不确定是否是这种情况,但如果是这样,我不知道如何让它发挥作用。
答案 0 :(得分:0)
尝试在主题文件夹中创建:
page.create-album.php
内嵌<?php //Template Name: Create Album
//Here all the html and php
page.my-account.php
内嵌<?php //Template Name: My Account
//Here all the html and php
我将自动完成所有操作,您将不再需要:
if( is_page( 'my-account' ) ) {
get_template_part( 'template-parts/my-account', 'account' );
} else if( is_home() || is_front_page() ) {
get_template_part( 'template-parts/album-grid', 'index' );
} else if( is_page( 'create-album') ) {
get_template_part( 'template-parts/create-album', 'create-album' );
}
我不会&#39;知道它是否会为你解决问题但是,我认为它会更清洁,而且我已经在home.php上做了这样的分页,没有任何问题。
试试吧,如果它不起作用,我们会找到另一种方式:)