Переработать вывод постов Wordpress

Цена договорная
26 ноября 2022, 21:08 • 2 отклика • 64 просмотра
Здравствуйте!

Нужно переработать вывод постов в WordPress. Сейчас стоит фильтр и вывод через query_posts(), но это мешает пагинации и при выборе фильтра - она пропадает.


Кто сможет взяться сегодня? Для знающего человека работы не несколько минут..

Сам код прикрепляю:


<?php
/**
* The template for displaying archive pages
*
* @link https://developer.wordpress.org/themes/basics/temp...
*
* @package sfederation
*/

get_header();
?>

<section id="primary" class="news">
<div class="container">
<?php if ( have_posts() ) : ?>

<div class="news__head">
<h2 class="title"><?php single_cat_title();?></h2>


<?php global $query_string; // параметры базового запроса
query_posts($query_string.'&'.$order); // базовый запрос + свои параметры
?>



<form action="<?php echo site_url() ?>/wp-admin/admin-ajax.php" method="POST" id="post-date-filter">
<div class="news__select">
<!-- Дата -->
<div class="__select" data-state="">
<div class="__select__title" data-default="Option 0">Выберите дату</div>
<div class="__select__content">

<input id="singleSelect0" class="__select__input" type="radio" name="singleSelect" checked>
<label for="singleSelect0" class="__select__label">Option 0</label>

<input id="singleSelect1" class="__select__input" type="radio" name="date" value="ASC">
<label for="singleSelect1" class="__select__label">Дата: по возрастанию</label>

<input id="singleSelect3" class="__select__input" type="radio" name="date" value="DESC"
selected="selected">
<label for="singleSelect3" class="__select__label">Дата: по убыванию</label>

</div>
</div>
<!-- Конец Дата -->


<!-- Категория -->
<?php
if( $terms = get_terms( 'post_tag', 'orderby=name' ) ) :
?>
<div class="__select-two" data-state="">
<div class="__select__title-two" data-default="Option 0">Выберите тему мероприятия</div>
<div class="__select__content-two">

<input id="singleSelect5" class="__select__input-two" type="radio" name="singleSelect2"
checked>
<label for="singleSelect5" class="__select__label-two">Option 0</label>

<?php
foreach ( $terms as $term ) :
?>
<input id="<?php echo $term->term_id ?>" class="__select__input-two" type="radio"
name="categoryfilter" value="<?php echo $term->term_id ?>">
<label for="<?php echo $term->term_id ?>" class="__select__label-two"
value="<?php echo $term->term_id ?>"><?php echo $term->name ?></label>

<?php
endforeach;
?>
</div>
</div>
<?php
endif;
?>
<!-- Конец Категория -->

</div>
<button type="submit" class="filter-btn">Применить фильтр</button>
<input type="hidden" name="action" value="customfilter">
</form>

</div>

<div class="news__content" id="filtering-results">
<?php
/* Start the Loop */
while ( have_posts() ) :
the_post();

/*
* Include the Post-Type-specific template for the content.
* If you want to override this in a child theme, then include a file
* called content-___.php (where ___ is the Post Type name) and that will be used instead.
*/
get_template_part( 'template-parts/content-news', get_post_type() );

endwhile;
else :

get_template_part( 'template-parts/content', 'none' );

endif;
?>
<?php
global $wp_query;

// текущая страница
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
// максимум страниц
$max_pages = $wp_query->max_num_pages;

// если текущая страница меньше, чем максимум страниц, то выводим кнопку
if( $paged < $max_pages ) {
echo '<div id="loadmore" style="text-align:center;width:100%;">
<a href="#" data-max_pages="' . $max_pages . '" data-paged="' . $paged . '" class="button news-more">Показать больше...</a>
</div>';
} ?>

</div><!-- #news__content -->
</div><!-- #container -->
</section><!-- #section -->



<?php if( get_field("sponsors_title", "options") ): ?>
<section class="sponsors">
<div class="container">
<div class="sponsors__wrap">
<div class="sponsors__left">
<h2 class="title"><?php the_field("sponsors_title", "options");?></h2>
<div class="sponsors__text">
<p><?php the_field("sponsors_text", "options");?></p>
</div>
<a href="<?php the_field("sponsors_btn-link", "options");?>"
class="btn-more"><?php the_field( "sponsors_btn-text", "options");?></a>
</div>
<div class="sponsors__right">
<img src="<?php the_field("sponsors_img", "options");?>" alt="sponsors">
</div>
</div>
</div>
</section>
<?php else :?>
<?php endif; ?>
<section class="adv">
<div class="container">
<div class="adv__wrap">
<h2 class="title">Оставить заявку <span>на рекламную интеграцию</span></h2>
<h3 class="subtitle">Выберите интересующие вас варианты рекламы и оставьте контактные данные.
В ближайшее время мы свяжемся и расскажем подробнее о рекламных возможностях.</h3>
<form class="adv__form">
<div class="adv__inputs">
<label>
<input type="text" required><span placeholder='Введите ваше имя'></span>
</label>
<label>
<input type="tel" required><span placeholder='Введите ваш телефон'></span>
</label>
</div>
<div class="adv__radio">
<div class="adv__radio_item">
<img src="<?php echo get_template_directory_uri();?>/assets/img/content/banner.png"
alt="banner">
<div class="form_radio">
<input type="radio" id="adv_1" name="list" value="листовки" />
<label for="adv_1">Листовки
<p>Раздача листовок всем участникам мероприятия при регистрации или посещении
мероприятий. </p>
</label>
</div>
</div>
<div class="adv__radio_item">
<img src="<?php echo get_template_directory_uri();?>/assets/img/content/banner.png"
alt="banner">
<div class="form_radio">
<input type="radio" onMouseDown="this.isChecked=this.checked;"
onClick="this.checked=!this.isChecked;" id="adv_2" name="banner" value="баннер" />
<label for="adv_2">Баннер
<p>Размещение баннера вашей организации на мероприятии. Размер баннера не более 2*3
метра.</p>
</label>
</div>
</div>
<div class="adv__radio_item">
<img src="<?php echo get_template_directory_uri();?>/assets/img/content/banner.png"
alt="banner">
<div class="form_radio">
<input type="radio" id="adv_3" name="online" value="онлайн" />
<label for="adv_3">Онлайн реклама
<p>Размещение вашего логотипа на сайте в описании партнеров мероприятия,
Публикация поста в социальных сетях.
</p>
</label>
</div>
</div>
<div class="adv__radio_item">
<img src="<?php echo get_template_directory_uri();?>/assets/img/content/banner.png"
alt="banner">
<div class="form_radio">
<input type="radio" id="adv_4" name="gifts" value="призы" />
<label for="adv_4">Призы
<p>Вручение ваших призов участникам/призерам мероприятий</p>
</label>
</div>
</div>
<div class="adv__radio_item">
<img src="<?php echo get_template_directory_uri();?>/assets/img/content/banner.png"
alt="banner">
<div class="form_radio">
<input type="radio" id="adv_5" name="voice" value="озвучка" />
<label for="adv_5">Озвучка записи
<p>Озвучка вашей рекламной записи до 1 минуты на мероприятии.</p>
</label>
</div>
</div>
<div class="adv__radio_item">
<img src="<?php echo get_template_directory_uri();?>/assets/img/content/banner.png"
alt="banner">
<div class="form_radio">
<input type="radio" id="adv_6" name="partner" value="партнер" />
<label for="adv_6">Главный партнер
<p>Вам будут доступны все виды вышеупомянутых рекламных активностей</p>
</label>
</div>
</div>
</div>
<input type="submit" value="Оставить заявку">
</form>
</div>
</div>
</section>
<?php
get_footer();