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.
Sichtbar ist hier die unkonfigurierte Version, die die Tabelle ausgibt und den Datensatz anzeigt.