WordPress 5.8 までは、寄稿者一覧を取得する際、get_users() 関数のパラメータに 'who' => 'authors' を指定していましたが、WordPress 5.9 から、WP_User_Query クラスに新たに capability クエリが追加され、従来の who パラメータは非推奨になりました。
今までの寄稿者一覧取得例
$args = array(
'orderby' => 'post_count',
'order' => 'DESC',
'who' => 'authors',
);
$authors = get_users( $args );
WP 5.9 での警告
Deprecated: WP_User_Query がバージョン 5.9.0 から非推奨になった引数付きで呼び出されました。who は非推奨です。代わりに capability を使用してください。
WordPress 5.9 からは、'who' => 'authors' を 'capability' => array( 'edit_posts' ) に変更する必要がありますが、WordPress 5.8 までの後方互換を維持するには、以下のように WordPress のバージョンでパラメータを分岐してしばらくは対処する必要があります。
$args = array(
'orderby' => 'post_count',
'order' => 'DESC',
'capability' => array( 'edit_posts' ),
);
// Capability queries were only introduced in WP 5.9.
if ( version_compare( $GLOBALS['wp_version'], '5.9-alpha', '<' ) ) {
$args['who'] = 'authors';
unset( $args['capability'] );
}
$authors = get_users( $args );
参考
