it-swarm.com.de

Wie man mit SQL mit Custom List Table umgeht Beispiel

Ich verwende das Beispiel-Plugin für benutzerdefinierte Listentabellen als Basis, um Einträge aus einer Tabelle anzuzeigen, die ich in der WordPress-Datenbank erstellt habe ...

Ich habe jedoch Probleme mit dieser Funktion

function column_default($item, $column_name){

}

Ich erhalte die Fehlermeldung:

Fatal error: Cannot use object of type stdClass as array in

Im Beispiel im Plugin wird ein einfaches Array verwendet. Die von der Abfrage zurückgegebenen $ -Daten geben jedoch mehrere Datenzeilen zurück (d. H. Ein Array mit Objekt, Objekt, Objekt).

Innerhalb meiner prepare_items () Funktion:

 global $wpdb;
          $orderby = (!empty($_REQUEST['orderby'])) ? $_REQUEST['orderby'] : 'name'; //If no sort, default to title
          $sql = "SELECT * FROM wp_nc_location ORDER BY " . $orderby;
          $data = $wpdb->get_results($sql);
3
redconservatory

Es funktionierte, indem $ item als Array übergeben wurde

function column_default($item, $column_name){
$item = (array)($item)
}
0
redconservatory
$data = $wpdb->get_results($sql, ARRAY_A);

Durch das Hinzufügen von ARRAY_A wird get_results gezwungen, ein assoziatives Array zurückzugeben.

3
juust

Folgendes verwende ich, um Daten aus benutzerdefinierten Tabellen abzurufen:

  // Retrieve all seasons registered
  function get_registered_seasons() {
    global $wpdb;

    $table_name   = $wpdb->prefix . "cwgallery";    
    $sql          = "SELECT DISTINCT year, season FROM $table_name ORDER BY year DESC ";
    $result  = $wpdb->get_results($sql);

    return $result;
  }
0
Steven