Очень часто, меняя структуру блога, мы теряем все ссылки, ведущие к поста или страницам. После этого нам приходится переделывать многие публикации, меняя ссылки на новые. То же самое наблюдается и при переносе блога на другой домен, или же из поддомена в домен — внутренние ссылки оказываются “битыми”. Казалось бы, блог все тот же, и база данных осталась без изменений, но вот многое на сайте перестает работать. Как же избежать этого? Оказывается (и это я сам узнал только недавно), избежать этого очень просто — достаточно применять при написании внутренних ссылок специальный шорткод.
Шорткод — это такой псевдо-тег, короткий код, который работает с помощью функции, описанной в файле functions.php. Чтобы любая внутренняя ссылка (ссылка в пределах вашего блога) стала вечной, нужно ее написать не вот таким способом
Архив
и даже не таким
Архив
а вот таким
<a href="">Архив</a>
Дело все в том, что ID записи в базе данных не поменяется никогда (если вы конечно не залезите в базу и не измените его), поэтому вызов ссылки с нужным ID будет работать независимо от того, на каком домене, в какой папке, в каком поддомене будет находиться ваш блог. Это универсальный метод, создающий вечную ссылку.
Согласитесь, что метод хоть и безотказный, но помнить весь код целиком не удобно, да в принципе и не нужно. Для того, чтобы заменить весь этот длинный код на короткий шорткод, откройте файл functions.php, и добавьте в него несколько строчек:
function permalink_thingy($atts) { extract(shortcode_atts(array( 'id' => 1, 'text' => "" // значение по умолчанию, если ничего не указано ), $atts)); if ($text) { $url = get_permalink($id); return "$text"; } else { return get_permalink($id); } } add_shortcode('permalink', 'permalink_thingy');
Это код функции, создающей шорткод permalink. Теперь для того, чтобы вставить вечную ссылку, достаточно просто написать
[permalink id=1228]
А можно и вот так
[permalink id=1228 text='Полный архив этого блога']
Пользуйтесь!
Скажите, а каким образом узнать ID в базе данных?
Ну, например вот так: Как вывести ID записей (постов), страниц, ссылок, категорий (рубрик), файлов и пользователей.