Проблема с идентификаторами guid и абсолютными ссылками


Идентификаторы сообщений и страниц содержат полный абсолютный URL-адрес моего сайта (например, http://www.example.com/wordpress/?p=1 ). Это вызывает проблему, если изменяется домен или путь wordpress, или если я просматриваю сайт по его IP-адресу, а не по его домену и т. Д.

Проблема 1: на моем сайте есть некоторые внутренние ссылки, которые используют идентификатор guid. Я предполагаю, что это неправильно, и я должен переписать код шаблона, чтобы удалить ссылки на идентификатор guid - правильно?

Проблема 2: изображения вставляются в сообщение с использованием их абсолютного URL-адреса, а не относительного. Это кажется недальновидным, но мне интересно, есть ли для этого разумная причина. Есть ли способ изменить это поведение?

Author: Bobby Jack, 2010-09-07

4 answers

1) Идентификатор GUID - это именно то, что - идентификатор GUID. Он используется для уникальной идентификации сообщения. Если вам нужно перейти по ссылке на публикацию, то используйте get_permalink( $post_ID ) ($post_ID является необязательным) (ссылка: get_permalink).

2) Не без плагина, нет. Хотя есть разговоры об использовании шорткода изображения для 3.1 или, может быть, 3.2.

Тем временем вы можете попробовать использовать альфа-версию моего плагина Регенерации миниатюр:

Http://viper007bond.pastebin.com/XprbYtg2

Это пройдет через все ваших сообщений и обновите все теги изображений.

Однако сначала убедитесь, что вы создали резервную копию своей базы данных. Код является альфа-кодом и не гарантирует, что он будет работать, хотя я его довольно много тестировал.

 7
Author: Viper007Bond, 2014-02-17 08:51:59

Проблема 1: Да, вы не должны использовать идентификатор guid в коде шаблона. Смотрите эту недавнюю тему из списка рассылки wp-хакеров:

Http://lists.automattic.com/pipermail/wp-hackers/2010-September/034559.html

Проблема 2: Этот вопрос на самом деле является одним из наиболее обсуждаемых. :)

Http://lists.automattic.com/pipermail/wp-hackers/2010-September/034652.html

Http://core.trac.wordpress.org/ticket/11394

 1
Author: sorich87, 2010-09-07 10:31:44

1.) Идентификаторы GUID в WordPress в первую очередь существуют для читателей RSS. Предполагается, что они являются уникальными идентификаторами, поэтому RSS-каналы не публикуют один и тот же контент снова и снова. Они не предназначены для использования в сообщениях или страницах WordPress. Даже если они могут выглядеть как постоянные ссылки, они не являются таковыми и их никогда не следует путать с ними.

По этой причине часть URL идентификатора GUID никогда не должна изменяться. Если вы меняете домены, идентификатор GUID не должен обновляться. Каналы связи вышли из строя под старым доменом, а не под новым, поэтому изменение URI в базе данных просто разозлит ваших читателей, которые снова увидят, что старый контент снова создается.

2.) Изображения можно сделать корневыми, отредактировав путь при их вставке. Если вам нужно изменить старые изображения, создайте резервную копию своей базы данных и возьмите плагин регулярного выражения поиска. Поиск в контенте для scr должен показывать все изображения, используемые в вашем контенте.

Для лучшей производительности кросс-браузера разумно установить базовый href в ваш файл .htaccess в корневой каталог вашего сайта, если вы используете относительные ссылки.

 1
Author: Elpie, 2011-05-06 05:19:38

Проблема с идентификатором GUID Wordpress заключается в том, что они выглядят так же, как URL-адрес, поэтому некоторые умники решили использовать их для URL-адреса - идентификаторы guid должны быть случайными числами или чем-то подобным...

 0
Author: rtiz, 2011-04-26 22:31:06