WordPress WP\\u查询orderby
参数有很多选项,但没有一个选项像您所追求的那样具体。
我想你必须在通过WP_Query
, 然后使用usort()
.
您的代码应该是这样的。
$args = array(
\'post_type\' => \'z_day\',
\'posts_per_page\' => -1,
\'meta_query\' => array(
array(
\'key\' => \'day_add_almanac\',
\'value\' => \'yes\'
)
)
);
// Create object
$my_posts = new WP_Query( $args );
// Sort
usort( $my_posts->posts, function( $a, $b ) {
// Convert "2018-01-28" to "0128"
$c = str_replace(\'-\', \'\' ,substr($a->title , 5));
$d = str_replace(\'-\', \'\' ,substr($b->title , 5));
if( $c == $d ) {
return 0;
}
// Use < or > (or swap -1 and 1 ) for reversing order
return ( $c > $d ) ? -1 : 1;
});
// Loop
if( $my_posts->have_posts() ) {
while( $my_posts->have_posts() ) {
$my_posts->the_post();
// Show posts
the_title();
}
}
您现在可以调整上述代码以满足您的要求<我希望这有帮助。