Создать страницу WordPress, которая перенаправляет на другой URL

Чтобы включить или отключить автоматический анализ кода В обозревателе решений щелкните правой кнопкой мыши проект и выберите «Свойства». В диалоговом окне свойств проекта выберите «Анализ кода». Укажите тип сборки в Configuration и целевой платформе платформы. Чтобы включить или отключить автоматический анализ кода, установите или снимите флажок «Включить анализ кода на сборке» (определяет константу CODE_ANALYSIS).

Ссылка

29
задан Dscoduc 9 November 2009 в 02:23
поделиться

8 ответов

Вы можете сделать это двумя способами, оба из которых должны быть сделаны путем редактирования ваших файлов шаблонов.

Во-первых, просто добавьте HTML-ссылку в вашу навигацию, где бы вы ни хотели, чтобы она отображалась.

Второй (и я думаю, тот, который вы ищете) - это создать новый шаблон страницы, что не так уж сложно, если у вас есть возможность создать новый файл .php в каталоге theme / template. , Что-то вроде приведенного ниже кода должно сработать:

<?php /*  
Template Name: Page Redirect
*/ 

header('Location: http://www.nameofnewsite.com');
exit();

?>

Где имя шаблона - это то, что вы хотите установить, а URL-адрес в функции заголовка - это новый URL, на который вы хотите направить пользователя. После того, как вы измените приведенный выше код в соответствии со своими потребностями, сохраните его в php-файле в папке вашей активной темы с именем шаблона. Итак, если вы оставите название вашего шаблона «Page Redirect», назовите php файл page-redirect.php.

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

Кроме того, вы можете сделать это динамически, используя раздел «Пользовательские поля» под редактором тела. Если вам интересно, дайте мне знать, и я могу вставить код этого парня в новый ответ.

40
ответ дан Schoffelman 9 November 2009 в 02:23
поделиться

Я обнаружил, что эти проблемы часто лучше всего решаются на уровне сервера. У вас есть доступ к файлу .htaccess, в который вы можете поместить правило перенаправления? Если это так:

RedirectPermanent /path/to/page http://uri.com

Это перенаправление также будет служить ответом «301 перемещено постоянно», чтобы указать, что страница Flickr (например) является постоянным URI для старой страницы.

Если это невозможно, вы можете создать собственный шаблон страницы для каждой рассматриваемой страницы и добавить следующий PHP-код в начало шаблона страницы (на самом деле, это все, что вам нужно в шаблоне:

header('Location: http://uri.com, true, 301');

Подробнее о заголовках PHP .

11
ответ дан Jason Leveille 9 November 2009 в 02:23
поделиться

В качестве альтернативы используйте фильтр.

Создайте пустую страницу в своем блоге WordPress, названную так, как вам нужно. Обратите внимание на post_id. Затем создайте фильтр, который изменяет его постоянную ссылку.

add_filter('get_the_permalink','my_permalink_redirect');
function my_permalink_redirect($permalink) {
    global $post;
    if ($post->ID == your_post_id_here) {
        $permalink = 'http://new-url.com/pagename';
    }
    return $permalink;
}

Таким образом, URL будет корректно отображаться на странице, никаких смешных перенаправлений не требуется.

Если вам нужно сделать это много, подумайте об использовании настраиваемых полей postmeta для определения значения postmeta для «offsite_url» или чего-то подобного, затем вы можете создавать страницы по мере необходимости, вводить значение «offsite_url» и затем используйте фильтр, подобный приведенному выше, вместо того, чтобы проверять post_id, который вы проверяете, чтобы увидеть, имеет ли он требуемый postmeta, и при необходимости изменять постоянную ссылку.

8
ответ дан Gipetto 9 November 2009 в 02:23
поделиться

Есть 3 способа сделать это:

  1. Изменив код 404.php.
  2. С помощью плагинов WordPress.
  3. Отредактировав свой файл .htaccess.

Полное руководство, данное на http://bornvirtual.com/wordpress/redirect-404-error-in-wordpress/906/

1
ответ дан Mark Byers 9 November 2009 в 02:23
поделиться

Используйте «необработанный» плагин. https://wordpress.org/plugins/raw-html/ Тогда все просто:

[raw]
<script>
window.location = "http://www.site.com/new_location";
</script>
[/raw]
1
ответ дан Jeroenv3 9 November 2009 в 02:23
поделиться

Я нашел плагин, который помог мне сделать это за считанные секунды без редактирования кода:

https://wordpress.org/plugins/quick-pagepost-redirect-plugin/

Я нашел его здесь: http://premium.wpmudev.org/blog/wordpress-link-title-external-url/

0
ответ дан Ryan 9 November 2009 в 02:23
поделиться

Я не знаком с шаблонами Wordpress, но я предполагаю, что WP отправляет заголовки в браузер еще до загрузки вашего шаблона. Из-за этого, общий метод перенаправления:

header("Location: new_url");

не будет работать. Если нет способа принудительной отправки заголовков через шаблон до того, как WP что-нибудь сделает, вам нужно будет использовать некоторый Javascript, например:

<script language="javascript" type="text/javascript">
document.location = "new_url";
</script>

Поместите это в раздел, и он будет запущен, когда страница грузы. Этот метод не будет мгновенным, и он также не будет работать для людей с отключенным Javascript.

4
ответ дан BraedenP 9 November 2009 в 02:23
поделиться

можно просто сделать это без любого включения

эхо 'window.location.replace (" http://www.yourweburl.com ")';

, Но мне не нравится то перенаправление, мне Нравится перенаправлять использование заголовка!!

Использование это как временное решение

0
ответ дан 24 September 2019 в 02:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: