- 基本的 wordpress 安装,使用子主题。
- 有一个常规的“博客”,还有一个“作品集”帖子类型
- 2 个循环文件 loop-single.php 用于博客,loop-portfolio.php 用于投资组合
- 我的作品集页面总是显示为没有样式:http://www.longevitygraphics.com/new/portfolio/dog-patch/
- 这两个“循环”在代码上是相同的(除了我删除了投资组合中的“下一个”和“上一个”链接)。所以我可以说它正在拾取文件,因为我没有看到下一个/上一个导航,但我不确定为什么页面似乎没有样式。
我试过以下三件事都没有成功:
if(is_post_type_archive('portfolio')){
include(TEMPLATEPATH . '/loop-portfolio.php');
}else{
include(TEMPLATEPATH . '/loop-single.php');
}
if(is_post_type_archive('portfolio')){
include(STYLESHEETPATH . '/loop-portfolio.php');
}else{
include(STYLESHEETPATH . '/loop-single.php');
}
if(is_post_type_archive('portfolio')){
include(get_stylesheet_directory_uri() . '/loop-portfolio.php');
}else{
include(get_stylesheet_directory_uri() . '/loop-single.php');
}
澄清一下,这是我的整个循环...我没有错过对 get_header()
或 get_footer()
的调用,但出于某种原因它没有选择他们起来:
<?php get_header(); ?>
<div id="container">
<div id="content" role="main">
<?php
if(is_post_type_archive('portfolio')){
include(TEMPLATEPATH . '/loop-portfolio.php');
}else{
include(TEMPLATEPATH . '/loop-single.php');
}
?>
</div><!-- #content -->
</div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
最佳答案
要包含循环模板,您可以使用 get_template_part()
函数,然后您可以将新的循环类型指定为第二个参数。如前所述,您还缺少对存档模板中的 get_header()
和 get_footer()
的调用。
// Show site header
get_header();
echo '<div id="content">';
// choose the type
$loop_type = is_post_type_archive( 'portfolio' )? 'portfolio' : 'single';
// load the template part
get_template_part( 'loop', $loop_type )
echo '</div><!--content end-->';
// Show site footer
get_footer();
关于php - 尝试创建第二个 loop-single.php 以显示不同的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25654017/