对父页面上的子页面内容进行分页

时间:2013-03-01 作者:Josh Rodgers

我使用以下代码在父页面上显示子页面内容。代码运行得很好,但它目前只显示最近的两个子页面帖子,有没有办法显示所有帖子,然后添加分页来浏览它们?

<?php
    $pages = get_pages(\'child_of=\'.$post->ID.\'&sort_column=post_date&sort_order=desc\');
    $count = 0;
    foreach($pages as $page) {
        $content = $page->post_content;
        if($count >= 2)
            break;
        $count++;
        $content = apply_filters(\'the_content\', $content);
        echo "<h2>".$page->post_title."</h2>";
        echo "<p>".$content."</p>";
    }
?>
谢谢,乔希

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

经过一番搜索,我找到了以下帖子:http://wordpress.org/support/topic/add-pagination-to-list-of-child-pages

我的最终代码如下所示:

<?php
    $ids = array();
    $pages = get_pages("child_of=".$post->ID);
    if ($pages) {
        foreach ($pages as $page) {
            $ids[] = $page->ID;
        }
    }
    $paged = (get_query_var("paged")) ? get_query_var("paged") : 1;
    $args = array(
        "paged" => $paged,
        "post__in" => $ids,
        "posts_per_page" => 2,
        "post_type" => "page"
    );
    query_posts($args);
    if (have_posts()) : while (have_posts()) : the_post(); 
?>
    <h2><?php the_title(); ?></h2>
    <p><?php the_content(); ?></p>
<?php endwhile; else: ?>
    <h2>Oh No!!</h2>
    <p><?php _e(\'Sorry, no posts matched your criteria.\'); ?></p>
<?php endif; ?>
<?php echo get_next_posts_link(); ?>
<?php echo get_previous_posts_link(); ?>
<?php wp_reset_query(); ?>
我真的很喜欢这段代码,因为它使用循环提取内容,从而更容易从页面中提取所需内容(以及创建自定义查询)。。。我从找到的链接中编辑了几行,并尽可能地简化它。

我希望这能帮助其他人,像冠军一样为我效力!

Note: 我想只显示子页面,不显示子页面,所以如果您也希望这样做,请添加"parent=".$post->IDline 3 在上述代码中*该行将如下所示:$pages = get_pages("parent=".$post->ID."&child_of=".$post->ID);

谢谢,乔希

结束

相关推荐

Gallery Pagination by Row

我在以下位置创建了一个图片库:http://ellenandjosh.com/?page_id=5. 目前,我有一个循环,在一定数量的图像之后显示分页:http://pastebin.com/N6nRRUei.通常情况下,这很好。。。但通常我没有不同宽度的图像。WordPress按高度裁剪图像,宽度可变。我想做的是在三行图像之后,然后添加分页按钮。。。而不是在一定数量的图像后显示分页按钮。。。这可能吗?第1页还可以,虽然底部行中可能会有更多图像-第2页只有两行,第3页第三行只有一个图像-尽管有更多图像。。