WordPress:显示整个模板,而不仅仅是the_content

时间:2013-05-30 09:45:53

标签: wordpress-theming wordpress

我有一个带有front-page.php的单页网站,其中应包含我的所有自定义模板(每个模板都是一个静态页面)。

<?php get_header();

$args = array(
    'sort_order' => 'ASC',
    'sort_column' => 'menu_order',
    'post_type' => 'page',
    'post_status' => 'publish'
);

$pages = get_pages($args);

foreach ($pages as $page_data) {
    $content = apply_filters('the_content', $page_data->post_content);
?>

<?php echo "$content" ?>

<?php
}
get_footer();
?>

使用“the_content”时,它仅引用后端中文本的内容,但不会引用模板本身中我的the_content标记周围的所有标记,例如:

<?
/*
    Template Name: Features
*/

    the_post()
?>

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

<section>
    <? the_content() ?>
</section>

<?php endif; ?>

在这种情况下,周围的标签部分未被选中,也不会出现在标记中。

我需要在front-page.php中更改哪些内容才能选择整个模板,而不仅仅是模板?

提前非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以将每个页面模板的循环部分放在单独的模板部件中,并使用get_template_part在首页上动态调用部件:

foreach ( $pages as $page_data ) {
    $template = get_post_meta( $page_data->ID, '_wp_page_template', true ); // get page template path
    $template = substr( $template, 0, -4 ); // chop off .php from the string
    get_template_part( 'loop', $template );
}

对于模板“功能”(文件名features.php),它会查找loop-features.php等。后备将为loop.php