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

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

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

Шорткод — это такой псевдо-тег, короткий код, который работает с помощью функции, описанной в файле functions.php. Чтобы любая внутренняя ссылка (ссылка в пределах вашего блога) стала вечной, нужно ее написать не вот таким способом

Архив

и даже не таким

Архив

а вот таким

<a href="">Архив

Дело все в том, что 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='Полный архив этого блога']

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

tiaurus

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

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

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

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

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

      Ответить