WP_User_Queryを用いてユーザーを全件取得し、固定ページにライター一覧として一覧表示しています。
ここでユーザー権限によって表示・非表示を切り替える必要が出てきまして、具体的には**編集者(editor)と投稿者(author)**のみ表示したいです。
そこでWP_User_Query
のパラメータrole
にarray('editor', 'author');
を渡しましたが、全て表示されなくなってしまいました。
恐らく、配列で渡すとその権限をどちらも持つユーザーを取得しに行くのかなーと思っています(システム上有り得ないですが)。
もちろん片方だけ指定すると、指定した権限を持つユーザーが正常に表示されます。
複数のユーザー権限を指定することはWP_User_Query
では不可能なのでしょうか?
何かアイデアをお持ちの方や、ヒントだけで良いのでお聞かせください。
PHP
1<?php 2 $args = array( 3 'role' => array('editor', 'author'), 4 ); 5 $writers = new WP_User_Query($args); 6?> 7<? if (!empty($writers->results)) : ?> 8 <?php foreach ($writers->results as $writer) : ?> 9 // ライター表示のHTML 10 <?php endforeach; ?> 11<?php endif; ?>
補足
get_users()
でも同じ結果でした。- ユーザーが1000件ほどあり、ページネーションを実装するので、全件取得した後にユーザー権限を見てif文で切り分けするのは出来れば避けたいです。
- WordPress 4.9.1, PHP 7.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/01/05 05:03