The first query gets all custom publication posts that have a value in field book_seq ordered by book_seq The second query gets all custom publication posts that have no meta value for book_seq or no meta record for key book_seq ordered by post_title.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$querytop=get_posts(array(
'post_type'=>'publication',
'numberposts'=>-1,
'orderby'=>'meta_value',
'meta_key'=>'book_seq',
'order'=>'ASC',
'meta_query'=>array(
// meta query takes an array of arrays, watch out for this!
array(
'key'=>'book_seq',
'value'=>array('','NULL'),
'compare'=>'NOT IN'
)
)
));
$querybottom=get_posts(array(
'post_type'=>'publication',
'numberposts'=>-1,
'orderby'=>'post_title',
'order'=>'ASC',
'meta_query'=>array(
// meta query takes an array of arrays, watch out for this!
'relation'=>'OR',
array(
'key'=>'book_seq',
'compare'=>'NOT EXISTS'
),
array(
'key'=>'book_seq',
'value'=>array('','NULL'),
'compare'=>'IN'
)
)
));
$store_query=array_merge($querytop,$querybottom);
Great article here: https://rudrastyh.com/wordpress/meta_query.html