Для чего именно предназначена таблица "wp commentmeta"?
Я читал о описании базы данных Wordpress. Я не понял смысла использования таблицы wp_commentmeta
.
В документации говорится:
Каждый комментарий содержит информацию, называемую метаданными, и она хранится в wp_commentmeta.
У меня есть четкое представление о том, что такое метаданные. Я знаю, например, как в таблице wp_postmeta
хранится пользовательское поле. Но в случае с комментариями я не поймите:
Какая информация будет содержаться в этой таблице?
Почему бы ему не быть в той же таблице
wp_comments
?Каков практический пример того, как кто-то будет его использовать, чтобы я мог его протестировать и получить более наглядное представление о том, как он работает?
2 answers
Эта таблица по сути такая же, как и для всех других "мета" таблиц в архитектуре WordPress. Он содержит разное. биты дополнительной, обычно необязательной, информации о соответствующем сообщении, пользователе или, в данном случае, комментарии.
Вы можете хранить любую информацию, которую вам нужно добавить в комментарий - возможно, плагин хочет реализовать флаги "злоупотребления" или комментарии с повышением голоса. Это действительно может быть что угодно.
Эта информация не будет помещена в таблицу комментариев, потому что она обычно необязательный и дополнительный, и не имеет заранее определенного значения. Сколько дополнительных столбцов вы бы добавили в таблицу комментариев "на всякий случай"? Понимаете, что я имею в виду.
Вы можете увидеть пример использования в записи Кодекса для add_comment_meta
.
function add_custom_comment_field( $comment_id ) {
add_comment_meta( $comment_id, 'my_custom_comment_field', $_POST['my_custom_comment_field'] );
}
add_action( 'comment_post', 'add_custom_comment_field' );
Это может быть использовано, в основном плагинами, для добавления некоторой дополнительной информации в комментарий. Имея одну общую таблицу, вам не нужно добавлять столбцы в wp_comment для каждого дополнительного фрагмента данных.
Например, плагин может добавлять рейтинг к каждому комментарию и сохранять это значение в wp_commentmeta.