Wordpress检索邮政儿童

时间:2009-06-25 18:18:38

标签: php wordpress

我有一个页面模板,我想列出每个子页面的条目(但不是它们的子页面),并根据页面名称和自定义字段显示一些内容。我该怎么做?

使用wordpress 2.8

2 个答案:

答案 0 :(得分:3)

以下是我在页面模板中最终完成的工作。

$pages =& get_children( 'post_type=page&orderby=title&order=ASC&post_parent='.get_the_ID() );

if ( empty($pages) ) {
    // no attachments here
} else {
    foreach ( $pages as $attachment_id => $attachment ) {
        <?
        <h3><? echo get_the_title($attachment_id); ?></h3>
        <p><a href="<? echo get_permalink($attachment_id)?>">View more</a></p>
        <?
    }
}

答案 1 :(得分:0)

我在我的网站上做了类似的事情。您需要定义自己的页面模板。在模板目录中创建一个文件并将其粘贴到那里 - 无论如何要开头。然后编辑您的父页面,并在“属性”框中选择“模板的父页面”。

此示例将包含每个子页面的完整内容,但您可以自定义您想要的内容。

<?php
/*
Template Name: Parent Page
*/
?>
<?php
/**
 * Loop over all sub-pages and include their content
 */
the_post();
$children = get_pages("child_of=" . $post->ID);
$childIDs = array();
foreach($children as $c) {
    $childIDs[] = (int)$c->ID;
}

query_posts(array('post_type'=>'page','post__in'=>$childIDs, 'orderby'=>'menu_order'));

get_header();
?>
<div id="content">
    <?php if (have_posts()) : while (have_posts()) : the_post(); $loopcounter++; ?>

        <div <?php if (function_exists('post_class')) post_class(); ?>>

            <div class="entry entry-<?php echo $postCount ;?>">

                <div class="entrytitle_wrap">
                    <?php if (!is_page()) : ?>
                        <div class="entrydate">
                            <div class="dateMonth">
                                <?php the_time('M');?>
                            </div>
                            <div class="dateDay">
                                <?php the_time('j'); ?>
                            </div>
                        </div>
                    <?php endif; ?>

                    <div class="entrytitle">
                    <?php if ($loopcounter==1):?>  
                        <h1><a href="<?php the_permalink() ?>" rel="bookmark" title="Link to <?php the_title(); ?>"><?php the_title(); ?></a></h1> 
                    <?php else : ?>
                        <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2> 
                    <?php endif; ?>
                    </div>

                </div>


                <div class="entrybody"> 
                    <?php if (is_archive() || is_search()) : ?> 
                        <?php the_excerpt(); _e('<p><a href="'.get_permalink().'">Continue reading about '); the_title(); _e('</a></p>');  ?>
                    <?php else : ?>
                        <?php the_content('Read the rest of this entry &raquo;');   ?>
                        <?php the_tags( '<p>Tags: ', ', ', '</p>'); ?>
                    <?php endif; ?>         
                </div>

                <div class="entrymeta"> 
                    <div class="postinfo"> 
                        <?php edit_post_link('Edit', '', ''); ?>                
                    </div>  
                </div>


                <?php if ($loopcounter == 1 && !is_singular()) { include (TEMPLATEPATH . '/ad_middle.php'); } ?>                 

            </div>  

    </div>

    <?php endwhile; ?>

    <?php if (!is_singular()): ?>         
        <div id="nav-global" class="navigation">
            <div class="nav-previous">
            <?php 
                next_posts_link('&laquo; Previous entries');
                echo '&nbsp;';
                previous_posts_link('Next entries &raquo;');
            ?>
            </div>
        </div>

    <?php endif; ?>

    <?php else : ?>

        <h2>Not Found</h2>
        <div class="entrybody">Sorry, but you are looking for something that isn't here.</div>
    <?php endif; ?>

</div>

<?php get_footer(); ?>