您可以尝试以下迷你插件(未测试):
<?php
/**
* Plugin Name: Support for ignoring the default menu order in WP_Query
* Description: Uses the _ignore_default_menu_order argument
* Plugin URI: http://wordpress.stackexchange.com/a/193291/26350
*/
add_filter( \'posts_where\', function( $where, $q )
{
global $wpdb;
if( (bool) $q->get( \'_ignore_default_menu_order\' ) ) {
$where .= "AND {$wpdb->posts}.menu_order <> 0";
}
return $where;
}, 10, 2 );
然后,您应该能够使用新的自定义查询参数,如:
$query = new WP_Query(
[
\'_ignore_default_menu_order\' => true,
]
);
以默认菜单顺序忽略帖子(
0
).
您还可以扩展它,以支持任何菜单顺序作为用户输入。