5

WP_Query を使用して、次のようなカスタム投稿を引き出しています。

$params = array(            
        'post_type' => 'portfolio',
        'post_status' => 'publish',
        'posts_per_page' => 10,
        'meta_key' => 'slideorder',
        'orderby' => 'meta_value',
        'order' => 'ASC'
        'ignore_sticky_posts' => 1,
    );
$slport_query = new WP_Query($params);

私が直面している問題は、「slideorder」(文字列) が空であっても、結果に含まれていることです。「meta_value」に少なくとも 1 つの文字が含まれている投稿のみを取得するにはどうすればよいですか?

私は追加しようとしました:

'meta_value' => '',
'meta_compare' => '!=',

しかし、それは助けにはなりません。何か案は?

ありがとう、ベン

4

1 に答える 1

19

わかりました...これが解決策です。明らかに空の meta_value でさえ、単一のスペースを持っているか、または返すようです。したがって、これは機能します:

$params = array(
    'post_type' => 'portfolio',
    'post_status' => 'publish',
    'posts_per_page' => 10,
    'meta_key' => 'slideorder',
    'meta_value' => ' ',
    'meta_compare' => '!=',
    'ignore_sticky_posts' => 1,
    'orderby' => 'meta_value',
    'order' => 'ASC'
);
$slport_query = new WP_Query($params);
于 2012-05-10T10:25:14.613 に答える