Возможно, я немного опоздал на этот вопрос, но я думаю, что он все еще актуален для современного мира WordPress, а также для ситуации, с которой я столкнулся при создании своего собственного плагина.
Так что для всех остальных это сработало для меня.У ОП почти было это.Однако $ wpdb-> get_col_info () полагается на результаты кеша для своих результатов, поэтому сначала необходимо вызвать $ wpdb-> get_results или get_row или запрос.:)
Мне также понравилась обработка ошибок littlegreen.
function test() {
global $wpdb, $table_name;
$wpdb->show_errors();
$return = 'Listing from table: '.$table_name.'<br>';
$results = $wpdb->get_results("SELECT * FROM ".$table_name);
$nameCols = $wpdb->get_col_info('name');
if (is_array($nameCols)) {
$return .= 'printing results:<br>';
foreach($nameCols as $name) {
$return .= ' '.$name;
}
} else {
$return .= 'no results or error<br>'.
'error: ' . $wpdb->print_error();
}
$wpdb->hide_errors();
}