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

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

Шорткод — это такой псевдо-тег, короткий код, который работает с помощью функции, описанной в файле 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 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*