页面列出wordpress(按desc排序)

时间:2015-10-12 13:26:36

标签: php wordpress

我有一个自行创建的WordPress图库,列出了页面缩略图。我有3个(编辑,个人,时尚)子页面(画廊)的父页面。

我尝试从这3个父页面列出页面缩略图,但我的列表有一个问题。它首先列出来自第一个id(编辑)的所有子缩略图(页面),然后列出来自id(个人)的所有子页面,最后列出所有id(时尚)的子节点。当我添加一个新的图库(页面)(类别:时尚)时,它会在个人结束时和其类别的开头列出。我需要在列表的开头(通过postdate)列出它。

我会展示我所拥有的内容并附上截图以使我的问题更加清晰。会很乐意提供任何帮助。

我目前的代码:

<div class="base-content">

<div id="archive-thumbnails-listing" >
<?php $pages = array();
foreach (array(403, 414, 417) as $id) {
$pages = array_merge($pages, get_pages(array('child_of' => $id ,'sort_column' => 'post_date', 'sort_order' => 'desc' )));
} ?>
<?php foreach ($pages as $page): ?>
<div class="thumb12wrap"> 
<a href="<?php echo get_the_permalink($page->ID); ?>"> 
<?php echo get_the_post_thumbnail($page->ID, 'full'); ?></a> 
<div class="thumbwrapper88"> 
<div class="shade23desc" ><a class="desc" href="<?php echo get_the_permalink($page->ID); ?>"><?php echo $page->post_title; ?></a></div> 
<a class="descarea" href="<?php echo get_the_permalink($page->ID); ?>"></a> 
</div>
</div>   
<?php endforeach; ?>
</div>
<div style="float:left;height:50px;width:100%;position:relative;"></div>
</div>

http://i.stack.imgur.com/ACmOH.jpg图片

1 个答案:

答案 0 :(得分:0)

您的问题似乎是您按照循环父ID的顺序将子页面添加到$pages数组中,然后迭代该数组而不对其进行排序。

如果您希望按照日期顺序显示父页面子项的所有缩略图,最好在单个查询中执行此操作。

这应该可行,但显然无法测试它! WP_Query使用post_parent__in指定父ID,然后按日期对所有子结果进行排序。我已经使用了循环&#39;迭代结果。

<div class="base-content">
<div id="archive-thumbnails-listing" >
    <?php
    $gallery = new WP_Query(array(
        'post_type'       => 'page',
        'posts_per_page'  => -1,
        'post_parent__in' => array(403, 414, 417),
        'order'           => 'DESC',
        'orderby'         => 'date'
    ));
    ?>
    <?php while ($gallery->have_posts()) : $gallery->the_post() ?>
        <div class="thumb12wrap">
            <a href="<?php echo get_the_permalink(); ?>">
                <?php echo get_the_post_thumbnail(get_the_ID(), 'full'); ?></a>
            <div class="thumbwrapper88">
                <div class="shade23desc" >
                    <a class="desc" href="<?php echo get_the_permalink(); ?>">
                        <?php echo get_the_title() ?>
                    </a>
                </div>
                <a class="descarea" href="<?php echo get_the_permalink(); ?>"></a>
            </div>
        </div>
    <?php endwhile ?>
    <?php wp_reset_query() ?>
</div>
<div style="float:left;height:50px;width:100%;position:relative;"></div>