Task 10121 | fix: поправили прайсы цен для карт, которые некорректно выводятся при заполнении из админки

This commit is contained in:
Боевой сайт - fakel
2025-11-21 21:11:51 +03:00
parent 21562852ca
commit 2ac2340779
57 changed files with 7935 additions and 14019 deletions

View File

@@ -47,67 +47,73 @@ if ($trainers) {
?>
<section class="py-[90px] pb-[45px]">
<section class="max-[768px]:py-[40px] max-[768px]:pb-[20px] py-[90px] pb-[45px]">
<div class="container mx-auto">
<?php if ($trainers_data): ?>
<div class="grid grid-cols-4 gap-[24px]">
<?php foreach ($trainers_data as $trainer_data): ?>
<?php $trainer = $trainer_data['post']; ?>
<a href="<?php echo get_permalink($trainer->ID); ?>" class="!no-underline group block">
<div class="flex flex-col gap-[12px]">
<div class="flex relative rounded-[20px] overflow-hidden shadow-[0_2px_32px_0_rgba(16,_15,_15,_0.03)]">
<?php $photo_images = get_field('photo', $trainer->ID); ?>
<?php if ($photo_images && !empty($photo_images[0])): ?>
<div class="overflow-hidden h-[460px]">
<img src="<?php echo esc_url($photo_images[0]['url']); ?>"
alt="<?php echo esc_attr($photo_images[0]['alt']); ?>"
loading="lazy"
class="w-full h-full object-cover transition-transform"/>
</div>
<?php endif; ?>
<div class="flex gap-[4px] absolute left-[12px] bottom-[16px] group-hover:text-[#e21e24]">
<div class="text-[15px] leading-[110%] font-[600] text-[#fff] px-[12px] h-[29px] flex items-center justify-center rounded-[32px] backdrop-blur-[8px] bg-[linear-gradient(90deg,rgba(157,153,148,0.7)_39.42%,rgba(197,197,185,0.7)_92.9%)]">
<?php echo pll_current_language('name'); ?>
</div>
<?php $exp = $trainer_data['exp']; ?>
<?php if ($exp): ?>
<div class="place-content-center max-[768px]:justify-center grid gap-[24px] grid-cols-[repeat(auto-fit,minmax(312px,312px))]">
<?php foreach ($trainers_data as $trainer_data):
if ($trainer_data['name']) {
$trainer = $trainer_data['post']; ?>
<a href="<?php echo get_permalink($trainer->ID); ?>" class="!no-underline group block">
<div class="flex flex-col gap-[12px]">
<div class="flex relative rounded-[20px] overflow-hidden shadow-[0_2px_32px_0_rgba(16,_15,_15,_0.03)]">
<?php $photo_images = get_field('photo', $trainer->ID); ?>
<?php if ($photo_images && !empty($photo_images[0])): ?>
<div class="overflow-hidden w-full h-[460px]">
<img src="<?php echo esc_url($photo_images[0]['url']); ?>"
alt="<?php echo esc_attr($photo_images[0]['alt']); ?>"
loading="lazy"
class="w-full h-full object-cover transition-transform"/>
</div>
<?php endif; ?>
<div class="flex gap-[4px] absolute left-[12px] bottom-[16px]">
<div class="text-[15px] leading-[110%] font-[600] text-[#fff] px-[12px] h-[29px] flex items-center justify-center rounded-[32px] backdrop-blur-[8px] bg-[linear-gradient(90deg,rgba(157,153,148,0.7)_39.42%,rgba(197,197,185,0.7)_92.9%)]">
<?php echo esc_html($exp); ?>
<?php echo pll_current_language('name'); ?>
</div>
<?php $exp = $trainer_data['exp']; ?>
<?php if ($exp): ?>
<div class="text-[15px]leading-[110%] font-[600] text-[#fff] px-[12px] h-[29px] flex items-center justify-center rounded-[32px] backdrop-blur-[8px] bg-[linear-gradient(90deg,rgba(157,153,148,0.7)_39.42%,rgba(197,197,185,0.7)_92.9%)]">
<?php echo esc_html($exp); ?>
</div>
<?php endif; ?>
</div>
</div>
<div>
<?php $name = $trainer_data['name']; ?>
<?php if ($name): ?>
<div class="group-hover:text-[#e21e24] transition-colors text-[24px] leading-[125%] font-[600]">
<?php echo esc_html($name); ?>
</div>
<?php endif; ?>
<?php $short_desc = $trainer_data['short_desc']; ?>
<?php if ($short_desc): ?>
<div class="group-hover:text-[#e21e24] transition-colors text-[16px] leading-[145%] font-[500] mt-[4px] text-[#6c6b6b]">
<?php echo wp_kses_post($short_desc); ?>
</div>
<?php endif; ?>
</div>
</div>
<div>
<?php $name = $trainer_data['name']; ?>
<?php if ($name): ?>
<div class="text-[24px] leading-[125%] font-[600]">
<?php echo esc_html($name); ?>
</div>
<?php endif; ?>
</a>
<?php
}
?>
<?php $short_desc = $trainer_data['short_desc']; ?>
<?php if ($short_desc): ?>
<div class="text-[16px] leading-[145%] font-[500] mt-[4px] text-[#6c6b6b]">
<?php echo wp_kses_post($short_desc); ?>
</div>
<?php endif; ?>
</div>
</div>
</a>
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
</section>
<section class="py-[90px] pt-[45px] radial-gradient">
<section class=" mb-[-9px] py-[90px] pt-[45px] radial-gradient">
<div class="container mx-auto">
<?php $team_photo = get_field('team_photo'); ?>
<?php $team_photo = get_archive_field('trainer', 'team_photo'); ?>
<?php if ($team_photo) : ?>
<img
class="rounded-[20px] w-full h-[620px] object-cover"
src="<?php echo esc_url($team_photo['url']); ?>"
alt="<?php echo esc_attr($team_photo['alt']); ?>"/>
class="max-[768px]:h-[240px] rounded-[20px] w-full h-[620px] object-cover"
src="<?php echo esc_url($team_photo['url']); ?>"
alt="<?php echo esc_attr($team_photo['alt']); ?>"/>
<?php endif; ?>
<?php
$blocks = [
@@ -212,14 +218,14 @@ if ($trainers) {
];
?>
<div class="mt-[40px] grid grid-cols-4 divide-x divide-[#e0e0e0]">
<div class="max-[768px]:grid-cols-1 max-[1300px]:gap-[24px] max-[1300px]:divide-none max-[1300px]:grid-cols-2 mt-[40px] grid grid-cols-4 divide-x divide-[#e0e0e0]">
<?php foreach ($blocks as $index => $block): ?>
<div class="flex flex-col px-[24px] <?php echo $index === 0 ? 'pl-0' : ''; ?> <?php echo $index === 3 ? 'pr-0' : ''; ?>">
<div class="max-[1300px]:p-0 flex flex-col px-[24px] <?php echo $index === 0 ? 'pl-0' : ''; ?> <?php echo $index === 3 ? 'pr-0' : ''; ?>">
<div class="grid place-items-center w-[76px] h-[76px] rounded-[12px] small-shadow bg-[#f8f8f8]"> <?php echo $block['svg']; ?></div>
<p class="mt-[24px] w-full max-w-[220px] font-[600] text-[24px] leading-[125%]">
<p class="max-[1300px]:max-w-full mt-[24px] w-full max-w-[220px] font-[600] text-[24px] leading-[125%]">
<?php echo htmlspecialchars($block['title']); ?>
</p>
<p class="mt-[12px] w-full max-w-[270px] font-[500] text-[16px] leading-[145%] text-[#6c6b6b]">
<p class="max-[1300px]:max-w-full mt-[12px] w-full max-w-[270px] font-[500] text-[16px] leading-[145%] text-[#6c6b6b]">
<?php echo htmlspecialchars($block['description']); ?>
</p>
</div>