В этой заметке покажу пример, как получить названия столбцов указанной таблицы MySQL в WordPress.
Это может быть полезно при работе с пользовательскими таблицами. В частности:
- Когда нужно собрать заголовки для формирования эксель таблицы.
- Когда нужно добавить или удалить колонку таблицы, но перед этим проверить есть ли вообще такая колонка.
- и т.д.
MySQL Команда DESC
DESC
команда получает только названия колонок таблицы MySQL:
global $wpdb; $columns = $wpdb->get_col( "DESC wp_terms" ); print_r( $columns ); /* Array ( [0] => term_id [1] => name [2] => slug [3] => term_group [4] => term_order ) */
MySQL Команда DESCRIBE
Получает более подробную информацию о колонках таблицы MySQL:
global $wpdb; $result = $wpdb->get_results( "DESCRIBE wp_terms" ); // или можно $result = $wpdb->get_results( "SHOW COLUMNS FROM wp_terms" ); print_r( $result ); /* Array ( [0] => stdClass Object ( [Field] => term_id [Type] => bigint(20) unsigned [Null] => NO [Key] => PRI [Default] => [Extra] => auto_increment ) [1] => stdClass Object ( [Field] => name [Type] => varchar(200) [Null] => NO [Key] => MUL [Default] => [Extra] => ) [2] => stdClass Object ( [Field] => slug [Type] => varchar(200) [Null] => NO [Key] => MUL [Default] => [Extra] => ) [3] => stdClass Object ( [Field] => term_group [Type] => bigint(10) [Null] => NO [Key] => [Default] => 0 [Extra] => ) [4] => stdClass Object ( [Field] => term_order [Type] => int(4) [Null] => YES [Key] => [Default] => 0 [Extra] => ) ) */
С помощью DESCRIBE также можно получить только названия колонок таблицы:
global $wpdb; $result = $wpdb->get_results( "DESCRIBE wp_terms" ); $columns = wp_list_pluck( $result, 'Field' ); print_r( $columns ); /* Array ( [0] => term_id [1] => name [2] => slug [3] => term_group [4] => term_order ) */