我使用以下代码在父页面上显示子页面,所有子页面都按字母顺序排序。如何关闭或按创建日期更改排序?
<?php
global $post;
$args = array(
\'parent\' => $post->ID,
\'post_type\' => \'page\',
\'post_status\' => \'publish\'
);
$children = get_pages( $args );
if ( ! empty( $children ) ) :
?>
<div class="childcells">
<?php
foreach ( $children as $post ) : setup_postdata( $post );
?>
<div class="childcell">
<?php if ( has_post_thumbnail() ) : ?>
<div class="thumbnail"><?php the_post_thumbnail( \'small-thumb\' ); ?></div>
<?php endif; ?>
<div class="myclasstitle"><?php the_title(); ?></div>
<span class="desc"><?php echo get_post_meta( get_the_ID(), \'desc\', true ); ?></span>
<div class="excerpt"><?php the_excerpt(); ?></div>
<a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">Read more</a>
</div>
<?php
endforeach;
wp_reset_postdata();
?>
</div>
<?php endif; ?>
最合适的回答,由SO网友:Max Yudin 整理而成
如果你看get_pages()
在代码引用中,您将注意到两个参数:sort_order
和sort_column
.
因此,下面的示例将为您提供按排序的子页面列表menu_order
:
$pages = get_pages( array(
\'child_of\' => $post->ID,
\'post_type\' => \'page\',
\'post_status\' => \'publish\',
\'sort_column\' => \'menu_order\',
\'sort_order\' => \'desc\',
) );
您可以手动更改菜单顺序
或者使用插件,例如。
Simple Page Ordering.