Как использовать шорткод постоянной, вечной ссылки

Пример шорткода, выводящего вечную ссылку на внутреннюю страницу блога. Как бы ни изменялась структура внутренних ссылок, такая вечная ссылка все равно будет работать.
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Очень часто, меняя структуру блога, мы теряем все ссылки, ведущие к поста или страницам. После этого нам приходится переделывать многие публикации, меняя ссылки на новые. То же самое наблюдается и при переносе блога на другой домен, или же из поддомена в домен — внутренние ссылки оказываются “битыми”. Казалось бы, блог все тот же, и база данных осталась без изменений, но вот многое на сайте перестает работать. Как же избежать этого? Оказывается (и это я сам узнал только недавно), избежать этого очень просто — достаточно применять при написании внутренних ссылок специальный шорткод.

Шорткод — это такой псевдо-тег, короткий код, который работает с помощью функции, описанной в файле 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='Полный архив этого блога']

Пользуйтесь!

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий

  1. герр Культуртриггер

    Скажите, а каким образом узнать ID в базе данных?

    Ответить
    1. Ну, например вот так: Как вывести ID записей (постов), страниц, ссылок, категорий (рубрик), файлов и пользователей.

      Ответить
×
WordPress:
прокачай свой сайт!

Скидка на премиум темы и плагины

Успей забрать скидку ⋙