it-swarm.xyz

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

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

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

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

8
Bobby Jack

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

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

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

http://viper007bond.Pastebin.com/XprbYtg2

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

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

6
Viper007Bond

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

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

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

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

1
Elpie

Проблема 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

1
sorich87

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

0
rtiz