Я создаю довольно сложный плагин, который синхронизирует сообщения с вашего сервера со сторонним сервером. Мне нужно знать, если вы перенесете свой сервер WordPress на новый сайт, «могут ли» измениться идентификаторы сообщений? Если да, то есть ли другой уникальный идентификатор?
Кроме того, есть ли другой случай, когда идентификатор сообщения может измениться?
Если идентификатор изменится и другого уникального идентификатора нет, то, скорее всего, я просто проведу сложную проверку подписи md5 и сравнение строк, если это необходимо.
В
wp_posts
таблице естьguid
поле, которое должно быть глобально уникальным и выдерживать миграции. Он формируется путем взятия исходного URL-адреса сообщения и никогда не меняется после этого (когда вы меняете заголовок, адрес веб-сайта или переносите сообщения). Это должно быть довольно безопасно для вашего кода синхронизации.Большое спасибо вам обоим. У меня были подозрения насчет того, о чем говорил Томас. Я бы проголосовал за оба ответа, но мне не хватает репутации: /
Также см. здесь — мой ответ в основном касался того, никогда ли
post_id
не изменяется поле, так как я думал, что GUID может измениться, но я ошибался (во всяком случае, в кодовой базе WP). :))Это зависит от того, как база данных перемещается из одного места в другое.
Если это прямая копия базы данных (очевидно, с изменениями для нового URL-адреса сайта): нет.
Экспорт таблиц MySQL и импорт их обратно создаст копию базы данных — все будет так же.
Если импортируете (через админку WP): да.
Импорт позволяет добавлять сообщения в существующий блог, поэтому идентификаторы не могут оставаться прежними — post_id должен быть уникальным для всей таблицы сообщений, иначе он бесполезен — поэтому, если в блоге уже есть некоторый контент с идентификаторами сообщений [1..120] импортированный контент будет иметь идентификаторы [121…n+120]