165 lines
6.5 KiB
PHP
165 lines
6.5 KiB
PHP
<?php
|
||
get_header();
|
||
|
||
$term = get_queried_object();
|
||
|
||
?>
|
||
<main class="page-teachers">
|
||
<?php
|
||
$h1 = carbon_get_term_meta( $term->term_id, 'subject_h1' );
|
||
?>
|
||
<section class="contetn-main_block">
|
||
<div class="container">
|
||
<h1 class="teachers_title"><?php echo $h1; ?></h1>
|
||
<div class="main_content">
|
||
<?php echo $term->description; ?>
|
||
</div>
|
||
</div>
|
||
<div style="height:50px" class="wp-block-spacer"></div>
|
||
</section>
|
||
|
||
<?php
|
||
$count_teachers = 8;
|
||
$useragent = $_SERVER['HTTP_USER_AGENT'];
|
||
if(preg_match('/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i',substr($useragent,0,4))) $count_teachers = 4;
|
||
?>
|
||
|
||
<section class="list-teachers">
|
||
<div class="container">
|
||
<?php
|
||
|
||
$terms = get_terms( array(
|
||
'hide_empty' => 0,
|
||
'orderby' => 'name',
|
||
'order' => 'ASC',
|
||
'taxonomy' => 'subject',
|
||
'pad_counts' => 1,
|
||
'hide_empty' => true,
|
||
) );
|
||
// оставим только термины с parent=0
|
||
$terms = wp_list_filter( $terms, array('parent'=>0) );
|
||
//var_dump($terms);
|
||
$list = "<ul class='subject__list'><li class='subject__list_item' data-index='0'><a href='/our-teachers/'>Все предметы</a></li>";
|
||
$count = 1;
|
||
foreach( $terms as $item ) {
|
||
$link = get_term_link($item->term_id, 'subject');
|
||
$list .= "<li class='subject__list_item' data-index='$count'><a href='$link'>" . $item->name . "</a></li>";
|
||
$count++;
|
||
}
|
||
$list .= "</ul>";
|
||
?>
|
||
<div class="subject-wrapper">
|
||
<span class="click-area">Наши преподаватели</span>
|
||
<?php echo $list; ?>
|
||
</div>
|
||
<div class="teachers-wrapper">
|
||
<?php
|
||
|
||
$term_id = $term->term_id; // ID термина
|
||
$taxonomy = 'subject'; // Название кастомной таксономии
|
||
$count = 1;
|
||
$args = array(
|
||
'post_type' => 'teacher', // Кастомный тип записи
|
||
'tax_query' => array(
|
||
array(
|
||
'taxonomy' => $taxonomy,
|
||
'field' => 'term_id', // Ищем по ID термина
|
||
'terms' => $term_id,
|
||
),
|
||
),
|
||
'posts_per_page' => -1, // Количество записей (-1 = все записи)
|
||
);
|
||
|
||
$query = new WP_Query($args);
|
||
|
||
if ($query->have_posts()) {
|
||
while ($query->have_posts()) {
|
||
$query->the_post();
|
||
$teacher_subjects = carbon_get_post_meta( $post->ID, 'teacher_subjects' );
|
||
if ( $count > $count_teachers ) {
|
||
$style = 'display: none; scale: 0;';
|
||
} else {
|
||
$style = '';
|
||
}
|
||
?>
|
||
<div class="teachers__item <?php echo $class; ?>" style="<?php echo $style; ?>">
|
||
<div class="ourteacher-avatar">
|
||
<a href="<?= esc_url( get_permalink( $post->ID ) ); ?>" title="<?= esc_attr( get_the_title( $post->ID ) ); ?>">
|
||
<?php
|
||
$avatar = get_the_post_thumbnail_url( $post->ID );
|
||
if ( ! empty( $avatar ) ) : ?>
|
||
<img src="<?= esc_url( $avatar ); ?>" alt="<?= esc_attr( get_the_title( $post->ID ) ); ?>" title="<?= esc_attr( get_the_title( $post->ID ) ); ?>">
|
||
<?php endif; ?>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
<?php
|
||
$count++;
|
||
}
|
||
} else {
|
||
echo 'Записи не найдены.';
|
||
}
|
||
wp_reset_postdata(); // Сбрасываем данные запроса ?>
|
||
|
||
</div>
|
||
<?php if ( $count > $count_teachers ) { ?>
|
||
<div class="buttons">
|
||
<button class="btn-yellow-link btn-more-teacher">Показать всех</button>
|
||
</div>
|
||
<?php } ?>
|
||
</div>
|
||
</section>
|
||
|
||
<script>
|
||
const count_teachers = <?php echo $count_teachers; ?>;
|
||
const teachers = document.querySelectorAll('.teachers__item');
|
||
const subjectWrapper = document.querySelector('.subject-wrapper');
|
||
|
||
const btnMoreTeacher = document.querySelector('.btn-more-teacher');
|
||
let currenIndex = 0;
|
||
|
||
if (btnMoreTeacher) btnMoreTeacher.addEventListener('click', () => {
|
||
|
||
btnMoreTeacher.classList.toggle('open');
|
||
|
||
const teachersShow = document.querySelectorAll('.teachers__item');
|
||
|
||
let index = 0;
|
||
teachersShow.forEach(teacher => {
|
||
if (btnMoreTeacher.classList.contains("open")) {
|
||
teacher.style = '';
|
||
} else {
|
||
if (index >= count_teachers)
|
||
teacher.style = 'display: none; scale: 0;';
|
||
}
|
||
index++;
|
||
});
|
||
|
||
if (btnMoreTeacher.classList.contains("open")) {
|
||
let index = 0;
|
||
|
||
btnMoreTeacher.textContent = 'Свернуть';
|
||
} else {
|
||
btnMoreTeacher.textContent = 'Показать всех';
|
||
|
||
}
|
||
});
|
||
|
||
document.addEventListener('click', (event) => {
|
||
if (event.target.classList.contains("click-area")) {
|
||
subjectWrapper.classList.toggle('open');
|
||
}
|
||
});
|
||
</script>
|
||
|
||
<?php get_template_part( 'template-parts/promo-form' ); ?>
|
||
|
||
<?php get_template_part( 'template-parts/block-why-us' ); ?>
|
||
|
||
<?php get_template_part( 'template-parts/map' ); ?>
|
||
|
||
</main>
|
||
<?php
|
||
get_footer();
|
||
|