0

これは方法としては少し奇妙に思えるかもしれません。

login_email「 」というカスタム フィールドがある自分の wordpress Web サイトに投稿があります。

私のテーマファイルには、このクエリがあります...

$press = new WP_Query(array(
    'posts_per_page' => -1,
    'post_type'     => 'download',
    'post_status'   => 'private',
    'meta_query'    => array(
        array(
            'key' => 'login_email',
            'value' => $current_user->user_login,
            'compare' => '='
        )
    )      
));

login_emailこれは、一致するカスタムフィールド値を持つ非公開投稿を取得するだけです$current_user->user_login

現在、login_emailカスタムフィールドにこの値があります...

josh@samplemail.uk.com

いいえ、私ができるようにしたいのは、このようにコンマで区切られたこのカスタムフィールドにさらに電子メールを追加することです...

josh@samplemail.uk.com, colin@samplemail.uk.com, jimbo@samplemail.uk.com

...そして、上記のクエリで、このリストから 1 つのメールを認識できるようにします。


たとえば、ユーザーcolin@samplemail.uk.comがログインしている場合、colins の電子メールがこのカスタム フィールドに存在するため (josh と jimbo の電子メールと共に)、投稿がクエリで返されます。

これが何らかの意味を成すことを願っています。さらに詳しく説明する必要がある場合はお知らせください。

クエリの比較を変更する必要があるようです-しかし、これらは私が見つけることができる唯一のオプションです...

compare (string) - テストする演算子。可能な値は、'='、'!='、'>'、'>='、'<'、'<='、'LIKE'、'NOT LIKE'、'IN'、'NOT IN'、'BETWEEN' です。 '、'NOT BETWEEN'、'EXISTS' (WP >= 3.5 のみ)、および 'NOT EXISTS' (WP >= 3.5 のみ)。デフォルト値は「=」です。 ソース

...EXISTS をテストしましたが、投稿が返されません。


誰かが巧妙な修正またはアイデアを持っていますか?


ありがとうジョシュ

4

1 に答える 1

0

演算子を試してくださいIN。これにより、複数のメールを検索できます。

INここに書かれている条項に従ってください: http://core.trac.wordpress.org/ticket/14997

于 2013-04-23T13:16:12.010 に答える