WordPress-Tabellen im NiceAdmin

Aufgrund der von mir bevorzugten Datenmodelle mit dem primärem Feld „id“ in jeder Tabelle, konnte der NiceAdmin zunächst keine WordPress-Tabellen anzeigen.

Es wurde nötig, für jede Tabelle, die kein Primary Field namens „id“ hat, den Namen des Feldes zu bekommen. Dazu reicht eine simple Funktion.

function GetPrimaryField($table)
{
   global $connect;
   $sql    = "SHOW KEYS FROM $table WHERE Key_name = 'PRIMARY'";
   $result = mysqli_query($connect,$sql);
   $keys   = mysqli_fetch_assoc($result);

   $primary = $keys['Column_name'];

   return $primary;
}

Diese Funktion (vereinfacht dargestellt – es fehlt der vorherigere Check einer Konfig-Variablen) wird nun an mehreren Stellen aufgerufen, an denen zuvor das Feld „id“ erwartet wurde. Damit ist es jetzt möglich, Tabellen wie wp_options anzuzeigen, deren Index-Feld sich nicht „id“, sondern „options_id“ nennt.

wp_options_at_niceadmin

Sichtbar ist hier die unkonfigurierte Version, die die Tabelle ausgibt und den Datensatz anzeigt.

Schreibe einen Kommentar