#php #wordpress
#php #wordpress
Вопрос:
У нас есть два сайта WordPress на двух доменах. По одному для каждого языка.
Внутри нашего header.php файл, найден следующий код:
Приведенный ниже код показан на французском веб-сайте
<a href="http://www.french-url.com/?page_id=<?php the_ID(); ?>">English</a>
Приведенный ниже код показан на английском веб-сайте
<a href="http://www.english-url.com/?page_id=<?php the_ID(); ?>">Français</a>
Когда мы находимся на английском веб-сайте и нажимаем на ссылку, чтобы перейти на французский веб-сайт, мы перенаправляемся на ошибку 404 Page Not Found: ПОТОМУ что страница перенаправляет на URL, заканчивающийся таким кодом, как so ‘?page_id= 155’.
Теперь, когда мы находимся на французском веб-сайте и нажимаем на ссылку, чтобы перейти на английский веб-сайт, перенаправление работает отлично. Показанный URL-адрес ‘?page_id=’ БЕЗ НОМЕРА в конце.
Мы хотели бы сохранить этот код без изменений для каждой другой страницы, за исключением главной страницы. Допустим, вы посещаете страницу «О нас», страницу контактов или сообщение в блоге, следующий код должен оставаться там:
?page_id=<?php the_ID()' ?>
Теперь может кто-нибудь, пожалуйста, скажите мне, будет ли иметь смысл следующий сценарий, и если да, пожалуйста, покажите какой-нибудь код о том, как заставить его работать:
Сделайте оператор if / else, в котором говорится, что если вы находитесь на главной странице, то перенаправляйте только на выбранный URL-адрес (без добавленного кода page_ID в конце URL-адреса).
Ответ №1:
Трудно понять, не видя рассматриваемых веб-сайтов, но похоже, что все страницы, кроме главной страницы, имеют ?page_id=NUMBER
URL-адрес. если это так, вы можете сделать это следующим образом:
<a href="http://www.english-url.com/<?php if ($_GET['page_id']){ echo '?page_id='; the_ID(); } ?>">Français</a>
Это добавит ?page_id=NUMBER
запрос только на страницы, которые имеют один набор в своем собственном URL.