创建一个使用模板获取页面的循环

时间:2013-02-20 作者:Panagiotis

我正在尝试做一个模板,将是一个html5/垂直滚动的基础。

我创建了大量的页面模板,每个模板都代表<section> 在索引上。php主要是检索我命名的页面的子页面ROOT 使用此选项:

// Set up the objects needed 
$my_wp_query = new WP_Query(); 
$all_wp_pages = $my_wp_query->query(array(\'post_type\' => \'page\'));

// Get the page as an Object 
$mainpage =  get_page_by_title(\'ROOT\');

// Filter through all pages and find Portfolio\'s children 
$children = get_page_children( $mainpage->ID, $all_wp_pages );
是否有一种方法可以使用每个页面模板呈现输出?页面层次结构如下所示:

ROOT
- Page1 (template: foo1)
- Page2 (template: foo2)
- Page3 (template: foo3)
- Page4 (template: foo1)
因此,我试图获得如下输出:

<section class=\'page<?php the_ID(); ?>\'>
[content with template foo1]
</section>
<section class=\'page<?php the_ID(); ?>\'>
[content with template foo2]
</section>
<section class=\'page<?php the_ID(); ?>\'>
[content with template foo3]
</section>
<section class=\'page<?php the_ID(); ?>\'>
[content with template foo1]
</section>

1 个回复
最合适的回答,由SO网友:Eugene Manuilov 整理而成

在您的案例中,codex中的代码片段有点多余。通过使用以下代码片段,您可以实现所需的功能:

index.php

$mainpage = get_page_by_title( \'ROOT\' );
$the_query = new WP_Query( array(
    \'post_parent\' => $mainpage->ID,
    \'post_type\'   => \'page\',
) );

$index = 0;
while ( $the_query->have_posts() ) :
    $the_query->the_post();
    echo \'<section class="page\' . get_the_ID() . \'">\';
    get_template_part( \'foo\', $index++ % 3 + 1 );
    echo \'</section>\';
endwhile;

wp_reset_postdata();

foo1.php

<div id="template-foo-1">
    <?php the_content() ?>
</div>

foo2.php

<div id="template-foo-2">
    <?php the_content() ?>
</div>

foo3.php

<div id="template-foo-3">
    <?php the_content() ?>
</div>

结束

相关推荐

Posting to loop.php file

我正在尝试发布到循环。php模板文件,但由于某种原因,它不会通过,通常它应该可以工作,但它不是。有没有其他方法来完成这项工作?这是我索引中的内容。主题的php文件。$(\'.load_more_cont a\').live(\'click\', function(e) { leftwrapper = \'THIS IS WORKING\'; $.ajax({ url: \"<?php blogin