Кодировка PHP / MySQL от 12345 до c11d38b47a44fcaa3035cb0342afb974 в WordPress meta_value? - PullRequest
0 голосов
/ 10 января 2019

Попытка выяснить, как определенные плагины WordPress генерируют этот тип кодировки в своих мета-полях и как я могу сделать тот же тип кодирования / декодирования?

Как только запись создается с помощью бэкэнда WordPress, я заметил, что в моей таблице wp_postmeta создается два поля: одно некодированное входное, в этом примере просто 12345, а другое мета-ключ с * 1005. * префикс, который кодируется в 32-символьную строку c11d38b47a44fcaa3035cb0342afb974.

У кого-нибудь есть понимание этого? Какой тип кодировки это? Может ли это быть закодировано через PHP, MySQL или оба?

Каков метод кодирования строки, такой как 12345 - c11d38b47a44fcaa3035cb0342afb974?

1 Ответ

0 голосов
/ 10 января 2019

wp_postmeta - хранилище данных ключ / значение. В простом плагине вы можете хранить, я не знаю, Рейтинг фильмов и Год в качестве метаданных для сообщений о фильмах. В этом случае wp_postmeta строк может содержать

post_id  meta_key         meta_value

 1        movierating     PG
 1        year            2004
 2        movierating     R
 2        year            1992

Фильм, описанный в post_id = 1, вышел в 2004 году с рейтингом PG. Фильм, описанный в посте 2, вышел в 1992 году с рейтингом R. Вы поняли идею.

Некоторые авторы плагинов используют синтетические значения meta_key, а не текстовые, предположительно, чтобы избежать коллизий с другими ключами. Если ваша 32-символьная шестнадцатеричная строка находится в столбце meta_key, это то, что происходит. (Другие авторы плагинов используют значения myplugin_myattribute для той же цели. И некоторые авторы вообще не пытаются избежать коллизий.)

Если шестнадцатеричная строка находится в столбце meta_value, это может означать что угодно. Значение meta_key является слабым намеком на то, что оно означает. Прочитайте исходный код плагина или спросите у автора плагина . Это может быть хешем целостности (для обнаружения попыток изменить другие значения).

Главное подчеркивание в meta_key скрывает его от выпадающего списка, элемента Custom Fields, на странице редактирования поста, доступной из внутренней панели инструментов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...