J'utilise le plugin Custom List Table Example comme base pour afficher les entrées d'une table que j'ai créée dans la base de données wordpress ...
Cependant, j'ai des problèmes avec cette fonction
function column_default($item, $column_name){
}
Je reçois le message d'erreur:
Fatal error: Cannot use object of type stdClass as array in
Dans l'exemple du plugin, il utilise un tableau simple. Mais les $ data renvoyés par la requête renvoient plusieurs lignes de données (c'est-à-dire un tableau avec objet, objet, objet).
À l'intérieur de ma fonction prepare_items ():
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);
Je l'ai obtenu en passant $ item sous forme de tableau
function column_default($item, $column_name){
$item = (array)($item)
}
$data = $wpdb->get_results($sql, ARRAY_A);
L'ajout de ARRAY_A
force get_results
à renvoyer un tableau associatif.
C'est ce que j'utilise pour récupérer des données à partir de tables personnalisées:
// 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;
}