scottbrown
  • 0
Новичок

Прямой импорт в БД — вопрос GUID

  • 0

У меня есть файл CSV с новыми сообщениями, который я буду импортировать прямо в базу данных.

Безопасно ли указывать GUID, http://domain/?p=[n] где [n] находится любое число, если это не дубликат существующего сообщения?

Share
  1. Краткий ответ: да

    Поле GUID предназначено для представления глобального уникального идентификатора сообщения. В WordPress мы просто используем URL. Поле GUID никогда не следует рассматривать как фактический URL-адрес, хотя… просто идентификатор сообщения.

    На самом деле поле GUID может содержать что угодно уникальное. Но если у вас есть две записи с одним и тем же GUID, вы можете подумать о том, чтобы изменить одну или другую. Импорт сообщений в формате CSV в пустой блог и использование механизма импорта/экспорта WordPress может помочь. Или установите [n] идентификатор, который пост будет иметь после импорта.

    • 0
  2. GUID существует как уникальный идентификатор каналов. Это необходимо для чтения каналов, чтобы кэшировать каналы и не повторять один и тот же контент.

    Небезопасно указывать GUID http://domain/?p=%5Bn%5D, где [n] равно любому числу, потому что при создании нового контента (включая автоматическое сохранение) WordPress присваивает GUID. Если ваш GUID не соответствует структуре WordPress, вы получите коллизии, а дублирование GUID может действительно испортить ваши каналы.

    В WordPress используется GUID http://example.com/?p= (для сообщений) или ?page_id= (для страниц).

    Этот SQL является примером того, как обновлять опубликованные сообщения:

    UPDATE `wp_posts` SET `guid`= concat('http://example.com/?p=',ID) WHERE   `post_status` = 'publish' AND `post_type` = 'post';
    

    Используя ID, вы делаете то же самое, что и WordPress. WordPress никогда не будет выдавать дубликаты post_id, поэтому его безопасно использовать.

    • 0

Оставить ответ

You must login to add an answer.