Проблема с GUID и абсолютными ссылками

7 сент. 2010 г., 12:31:43
Просмотры: 15.4K
Голосов: 8

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

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

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

0
Все ответы на вопрос 4
1

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

2) Только с помощью плагина. В версии 3.1 или, возможно, 3.2 планируется добавить шорткод для изображений.

А пока вы можете попробовать альфа-версию моего плагина Regenerate Thumbnails:

http://viper007bond.pastebin.com/XprbYtg2

Он пройдется по всем вашим записям и обновит теги изображений.

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

8 сент. 2010 г. 01:22:57
Комментарии

1) Да, именно это я и делаю (сейчас) 2) Я проверю ваш плагин - спасибо. Один вопрос касается расположения директории загрузки и того, как это работает при изменении - мне нужно изучить этот вопрос и разобраться в нем!

Bobby Jack Bobby Jack
8 сент. 2010 г. 11:59:55
0

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

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

7 сент. 2010 г. 13:31:44
0

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

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

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

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

6 мая 2011 г. 08:19:38
1

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

27 апр. 2011 г. 01:31:06
Комментарии

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

Rarst Rarst
27 апр. 2011 г. 13:57:31