我尝试了以下三件事:
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(); ?>
答案 0 :(得分:1)
要包含循环模板,您将使用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();
答案 1 :(得分:1)
因此,我没有尝试将脚本定向到single.php中的循环,而是最终为我的投资组合自定义帖子类型创建了一个单独的single.php文件。
最终结果
<强> single.php中强>
<?php get_header(); ?>
<div id="container">
<div id="content" role="main">
<?php get_template_part( 'loop', 'single' ); ?>
</div><!-- #content -->
</div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
<强>单portfolio.php 强>
<?php get_header(); ?>
<div id="container">
<div id="content" role="main">
<?php get_template_part( 'loop', 'portfolio' ); ?>
</div><!-- #content -->
</div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>