Не кидайтесь тухлыми помидорами, прошу.
Вводные:
Есть страница WP, на этой странице есть две вкладки "Было" и "Будет"
По умолчанию, при переходе на страницу из пункта меню, активная вкладка "Будет".
Задача:
Делаю кнопку на главной странице, для вкладки "Было"
Вопрос:
Как вывести (создать) ссылку по ID что бы при переходе по ссылке, активная вкладка была "Было"?
Другими словами:
Из пункта меню переходим на страницу - в этом случае, активная вкладка "Будет";
Переход по кнопке с главной страницы - активная вкладка "Было".
Проблема:
ссылка вида: домен/страница/#id не работает как надо мне
Вот сам код:
<div class="tabs">
<ul class="tab-menu tab-list">
<li class="tab-list__item active"><a href="#will-be">Будет</a></li>
<li><a href="#was">Было</a></li>
</ul>
<div class="tab-content active" id="will-be">
<div class="rotate-block">
<?php
$args = array(
'post_type' => 'cards', // Тип записи
'meta_type' => 'DATETIME',
'meta_query' => array(
array(
'key' => 'data_cont', // Поле даты
'value' => date('Y-m-d'), // Только даты, которые еще не наступили
'compare' => '>=',
'type' => 'DATETIME'
)
),
'posts_per_page' => -1,
'orderby' => 'meta_value_num',
'meta_key' => 'data_cont',
'order' => 'ASC'
);
$query = new WP_Query($args);
if ($query->have_posts()) :
while ($query->have_posts()) : $query->the_post();
get_template_part('template-parts/content', 'cards');
endwhile;
wp_reset_postdata();
else :
echo '<p>Нет записей для отображения</p>';
endif;
?>
</div>
</div>
<div class="tab-content" id="was">
<div class="rotate-block">
<?php
$args = array(
'post_type' => 'cards', // Тип записи
'meta_type' => 'DATETIME',
'meta_query' => array(
array(
'key' => 'data_cont', // Поле даты
'value' => date('Y-m-d'), // Только даты, которые уже прошли
'compare' => '<',
'type' => 'DATETIME'
)
),
'posts_per_page' => -1,
'orderby' => 'meta_value_num',
'meta_key' => 'data_cont',
'order' => 'DESC'
);
$query = new WP_Query($args);
if ($query->have_posts()) :
while ($query->have_posts()) : $query->the_post();
get_template_part('template-parts/content', 'cards');
endwhile;
wp_reset_postdata();
else :
echo '<p>Нет записей для отображения</p>';
endif;
?>
</div>
<div class="load">
<button id="show-more">Показать ещё</button>
</div>
</div>
</div>
и js:
<script>
document.addEventListener("DOMContentLoaded", function() {
const tabMenuItems = document.querySelectorAll('.tab-menu li');
const tabContentItems = document.querySelectorAll('.tab-content');
tabMenuItems.forEach((item, index) => {
item.addEventListener('click', () => {
// Удаляем класс active у всех элементов
tabMenuItems.forEach((menuItem) => {
menuItem.classList.remove('active');
});
tabContentItems.forEach((contentItem) => {
contentItem.classList.remove('active');
});
// Добавляем класс active к выбранной вкладке
item.classList.add('active');
tabContentItems[index].classList.add('active');
});
});
});
</script>