wp_list_pages( $args )
呼叫get_pages( $args )
. 您可以筛选get_pages()
过滤器打开时的输出get_pages
.
假设你打电话wp_list_pages()
像这样:
wp_list_pages(
array(
\'please_filter_me\' => TRUE
)
);
现在可以使用以下代码对页面进行排序(未测试):
add_filter( \'get_pages\', function( $pages, $args ) {
// not our query
if ( empty ( $args[\'please_filter_me\'] ) )
return $pages;
$out = $top = array();
foreach ( $pages as $page )
{
if ( get_post_meta( $page->ID, \'my_key\', TRUE ) )
$top[] = $page;
else
$out[] = $page;
}
return $top + $out;
}, 10, 2 );