@Linberg07

Как привязать якори к определенным переключателям?

Сразу извиняюсь за поставленный вопрос, возможно вообще не верно поставил его.
Суть такая:
artness.borodadigital.com/services
есть эта страничка, в ней переключатели при переключении открыватся соответствующий контент. Мне нужно на главную страничку привязать к ссылкам переход на конкретно открытый контент конкретного переключателя, как можно это реализовать? Заранее спасибо
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
У вас сломан сайт по ссылке, но на сколько я понимаю, у вас там табы, на них якоря работать не будут как по ссылкам. Активный таб устанавливается с помощью добавления класса active как к табу, так и к контенту таба. У вашей задачи есть два решения — на php и на js

Регистрируете дополнительный параметр в query_vars

add_filter( 'query_vars', 'add_query_vars' );
function add_query_vars( $qvars ) {
	$qvars[] = 'tab';
	return $qvars;
}


Ссылку с активным табом можно собрать так

$url = add_query_arg( [ 'tab' => '2' ], home_url( '/' ) ); // Получится ссылка вида https://example.loc/?tab=2


Получить номер активного таба можно с помощью get_query_var(), при выводе проверяете его номер и присваиваете соответствующий класс

$active_tab = get_query_var( 'tab', 1 );

$tabs = ['О компании', 'Услуги', 'Портфолио'];
foreach ( $tabs as $key => $tab ) {
	if ( $key == $active_tab ) {
		echo '<div class="tab active">';
	} else {
		echo '<div class="tab">';
	}
}


Всю последнюю часть, которая добавляет активный класс исходя из ссылки можно переписать на js
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mediol-name
@mediol-name
Wordpress Developer
Ваша страница не открывается, почему-то. Предположу, что переключатели подтягивают контент по идентификатору. Например: #content_1 и #content_2. Чтобы с главной попадать на нужный контент, стоит написать ссылку так: artness.borodadigital.com/services#content_1 или artness.borodadigital.com/services#content_2
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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