Постоянные ссылки
12.11.2008
Постоянные ссылки и отключение редиректа в wordpress.
Да, давно откопанная у Макса нужная возможность для блога.
Насколько она нужная – дело конечно проблематичное, так как позволяет практически удвоить число страниц. Как известно, в блогах WordPress работает прекрасный внутренний редирект, который по умолчанию перебрасывает вас с постоянных ссылок на ссылки с ЧПУ, а так же и сам сайт с www на без www, опять же, если вы указали какой из них (с www или без www) основной для блога. Тут могут конечно возникнуть проблемы с копиями страниц в поисковых системах, саплемталом и прочее. Решать вам – ставить или нет, нужно это или нет.
Редирект отключается практически без всяких хаков wordpressa, а довольно простыми изменениями в теме шаблона.
Итак.
1. Находим в шаблоне файл functions.php Бывает, что такового нет, ну так просто создайте пустой.
В него вписываем следующее -
<?php remove_action('template_redirect', 'redirect_canonical'); ?>
2. Далее выбираем файл из темплаты который отвечает за вывод текста сообщений и страниц. В основном в шаблонах это файлы page.php и single.php Находим строку, отвечающую за вывод текста -
с контентом the_content:
к примеру бывают таких видов
<?php the_content('Читаем полностью »'); ?>
или
<?php the_content(); ?>
И после этих строк вставляем следующее:
<? php
if (is_single() || is_page()) {
echo ' ';
echo 'Постоянная ссылка: ';
if ( is_single() ) $link = get_settings('siteurl') . '/?p=' . $post->ID;
elseif (is_page()) $link = get_settings('siteurl') . '/?page_id=' . $post->ID;
echo '<a href="' . $link . '">' . $link . '</a>';
}
?>
Вот в общем то и все. После приведенных выше изменений в тексте поста внизу вы увидите постоянную ссылку wordpress на ваш пост в каноническом виде (типа ?p=123).
Извините, но коментирование запрещено.