WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Платформа для конвертации и монетизации трафика

Открытие нужного таба на целевой странице

Нужно решить следующую задачу:

При переходе по ссылке (картинка с подписью) с главной (сайт http://music-show.ru/ блок "АРЕНДА ОБОРУДОВАНИЯ") на целевую страницу (http://music-show.ru/park/) должна открываться информация нужного таба.

На данный момент, переключение табов на целевой странице реализовано шорткодом

add_shortcode('oborudovanie_category', 'category_oborudovaniya_func');
function category_oborudovaniya_func( $atts ){
	// создаем экземпляр
	$my_posts = new WP_Query;
	$result = '';

	// делаем запрос
	$myposts = get_terms( 'category_oborudovaniya', array(
		'hide_empty' => false,
		'orderby' => 'term_id',
		'order' => 'ASC',
	) );

	if ($myposts) {
		// обрабатываем результат
		$i = 0;
		foreach( $myposts as $pst ){
			if($i==0){ $class = 'active';} else {$class = '';}
			$result .= '
				<div class="col-md-25 pr-1 pl-1">
					<div class="page-park__nav-item '.$class.'" data-id="'.$pst->term_id.'">
						'.esc_html( $pst->name ).'
					</div>
				</div>
			';
			$i++;
		}
	}
	return $result;
}
0
earlnik
10 месяцев назад 4
  • 1

    Вариантов может быть много. Самый простой способ, через гет параметр сделать. На главной добавить к ссылкам что-то типа ?tab=2 , где 2 - номер активного таба.
    Ссылка будет выглядеть так: http://music-show.ru/park/?tab=2

    add_shortcode('oborudovanie_category', 'category_oborudovaniya_func');
    function category_oborudovaniya_func( $atts ){
    	// создаем экземпляр
    	$my_posts = new WP_Query;
    	$result = '';
    
    	// делаем запрос
    	$myposts = get_terms( 'category_oborudovaniya', array(
    		'hide_empty' => false,
    		'orderby' => 'term_id',
    		'order' => 'ASC',
    	) );
    
    	if ($myposts) {
    		// обрабатываем результат
    		$i = 0;
    		foreach( $myposts as $pst ){
    			$class = '';
    			if(isset($_GET['tab'])){
    				switch ($_GET['tab']){
    					case '5':
    					case '2':
    					case '3':
    					case '1':
    						$class = 'active';
    						break;
    				}
    			} else {
    				if($i===0){ $class = 'active';}
    			}
    
    			$result .= '
    				<div class="col-md-25 pr-1 pl-1">
    					<div class="page-park__nav-item '.$class.'" data-id="'.$pst->term_id.'">
    						'.esc_html( $pst->name ).'
    					</div>
    				</div>
    			';
    			$i++;
    		}
    	}
    	return $result;
    }
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация