Примечание: __construct устарела, начиная с версии 3.1! Вместо этого используйте WP_User_Query.

Как мне обойти эту ошибку? Он работает и функционирует правильно, но ошибка отображается пользователю. Если я изменю WP_User_Search на WP_User_Query, это не сработает. Ошибка ушла, но больше не работает.

Я пытаюсь переопределить раскрывающийся список «Автор» при редактировании сообщения и удалить все имена администраторов.

// Remove Admins from Post Author Dropdown
add_filter('wp_dropdown_users', 'theme_post_author_override');
function theme_post_author_override($output)
{
 global $post, $user_ID;
  // return if this isn't the theme author override dropdown
  if (!preg_match('/post_author_override/', $output)) return $output;
  // return if we've already replaced the list
  if (preg_match ('/post_author_override_replaced/', $output)) return $output;
  // replaceme wp_dropdown_users
  $admins = getRolesForAuthorList('administrator');
     $output = wp_dropdown_users(array(
        'exclude' => $admins,
        'echo' => '0'
    ));
    // put original back
    $output = preg_replace('/post_author_override_replaced/', 'post_author_override', $output);
  return $output;
}
function getRolesForAuthorList($role) {
    $usersearch = '';
    $userspage = '';
    $wp_user_search = new WP_User_Search($usersearch, $userspage, $role);
    return $wp_user_search->get_results();
}
// Remove Admins from Post Author Dropdown

person dnicin    schedule 29.07.2016    source источник


Ответы (1)


// Create the WP_User_Query object
$wp_user_query = new WP_User_Query(array( 'role' => 'Administrator' ));

// Get the results
$authors = $wp_user_query->get_results();

из документации

person Jeffrey Troost    schedule 29.07.2016
comment
Это не сработало. У меня теперь новая ошибка... Обратите внимание: объект класса WP_User не может быть преобразован в int Вот код, который у меня есть сейчас: - person dnicin; 29.07.2016
comment
function getRolesForAuthorList() { $wp_user_query = new WP_User_Query(array('role' => 'Администратор')); вернуть $wp_user_search-›get_results(); } - person dnicin; 29.07.2016
comment
Я также вижу еще одну ошибку... Вызов функции-члена get_results() для не-объекта в - person dnicin; 29.07.2016
comment
Вы пробовали print_r отображать полученные результаты? + ошибка int исходит от wp_dropdown_users, который, вероятно, ожидает, что $admins будет int, чего не будет, поскольку он должен возвращать массив, как я полагаю - person Jeffrey Troost; 29.07.2016
comment
Я не знаю, что вы имеете в виду. Не могли бы вы добавить код? - person dnicin; 29.07.2016