Настройка таблиц WP или добавление новых?

Я хотел бы расширить пользовательские данные, добавить изображение, отдел, телефон и т. Д. Вы можете достичь этого, добавив пользовательские поля в usermeta, однако мне интересно, устарели ли эти методы, и было бы лучше создать новые таблицы с настраиваемыми данными, чтобы предотвратить будущие потенциальные ловушки при обновлении WP.

Каков правильный путь?

Solutions Collecting From Web of "Настройка таблиц WP или добавление новых?"

Вы должны избегать добавления новых таблиц или настройки существующих таблиц для добавления полей для пользователей.

Если вы хотите сохранить номер телефона и т. Д., Сделайте это, используя пользовательский мета:

add_user_meta( $user_id, 'riccardo_phone_number', '0123-456-7890' ); .... $phone_number = get_user_meta( $user_id ); 

Пользователь meta – это ключ и значение с идентификатором сообщения в базе данных. Нет необходимости в изменениях в структуре / схеме таблицы для добавления новой информации.

Изменение таблицы WP_User вызовет серьезные проблемы с будущими обновлениями WordPress. Когда WordPress Core изменяет свою схему базы данных, вы рискуете ее сбой при обновлении или уничтожении данных.

Создание новых таблиц и изменение основных таблиц также означает запись пользовательских SQL-запросов, дублирование основного запроса и отказ от всех API-интерфейсов для доступа к данным, а также введение новой точки отказа. Пользовательские типы сообщений, почтовая мета и пользовательские таксономии почти всегда являются лучшим выбором, принося с собой другие преимущества.

Для создания таблицы для вашей базы данных WordPress требуется значительное количество времени. В WordPress Codex есть статья с пошаговым руководством о том, как это сделать, в основном это создание плагина и добавление функций для создания таблицы и запуск функции при установке плагина.

1. Создание таблиц:

Функция Thew:

 <?php global $jal_db_version; $jal_db_version = '1.0'; function jal_install() { global $wpdb; global $jal_db_version; $table_name = $wpdb->prefix . 'liveshoutbox'; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE $table_name ( id mediumint(9) NOT NULL AUTO_INCREMENT, time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, name tinytext NOT NULL, text text NOT NULL, url varchar(55) DEFAULT '' NOT NULL, UNIQUE KEY id (id) ) $charset_collate;"; require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); dbDelta( $sql ); add_option( 'jal_db_version', $jal_db_version ); } function jal_install_data() { global $wpdb; $welcome_name = 'Mr. WordPress'; $welcome_text = 'Congratulations, you just completed the installation!'; $table_name = $wpdb->prefix . 'liveshoutbox'; $wpdb->insert( $table_name, array( 'time' => current_time( 'mysql' ), 'name' => $welcome_name, 'text' => $welcome_text, ) ); } 

2. Вызов функций:

В вашем файле плагина

 register_activation_hook( __FILE__, 'jal_install' ); register_activation_hook( __FILE__, 'jal_install_data' ); 

Оригинальную статью можно найти здесь: Создание таблиц с плагинами


Вы можете попробовать эту опцию, если вы действительно хотите учиться, делая это; однако, если вы работаете над проектом, я рекомендую использовать очень ухоженный плагин Called «Advanced Custom Fields», который в настоящее время имеет более 1 миллиона инсталляций и 5-звездочный рейтинг. Этот плагин позволяет вам легко добавлять пользовательскую функцию Meta с графическим интерфейсом, который экономит значительное количество времени.