@AlextooG

Как добавть в код get_category_link?

У меня плагин мобильной версии понаделал дубли типа: ?fdx_switcher=true, ?fdx_switcher=mobile и ?fdx_switcher=desktop

Т.к. rel="canonical" у меня прописан, я не особо переживал, пока не увидел, что PageSpeed Insights ругается на переадресацию и выводит урл всех страницы мобильной темы с ?fdx_switcher=true.

Покапавший в интернете я нашел такой код в статье «Переадресация с дублей на каноническую страницу»

if ( is_singular() ) {
	$check = get_bloginfo('url') . $_SERVER['REQUEST_URI']; // узнаем текущий url
	if ( $check != get_permalink() ){
		header( 'HTTP/1.1 301 Moved Permanently' );
		header( 'Location: ' . get_permalink() );
	} // операция сравнения, если обнаруживаем отличие, делаем перенаправление
}


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

Но данный код не работает, для категорий. Урлы категорий остались, как раньше с ?fdx_switcher=true.
Присмотревшись к коду, я начал думать, что get_permalink() это получение постоянной ссылки на запись, а для категорий надо использовать get_category_link(). Пытался по разному вставить get_category_link() в данный код, но не получается, моих знаний не хватает.

Помогите, как правильно изменить код, чтобы переадресация работала и для категориях.
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 2
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Потому что вначале у вас условие is_singular(). Для категорий нужно условие is_archive(). И вы можете использовать нативную функцию wp_redirect()
Ответ написан
@AlextooG Автор вопроса
нет видимо здесь знающих людей. Бессмысленно, что то спрашивать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы