У меня есть основной архив новостей.
Я пытаюсь добавить простую выпадающую сортировку по форме, которая позволяет сортировать результаты по дате, названию и популярности ...
У меня вроде есть, но не совсем так, как я ожидал.
У меня есть выпадающий список, который 'onchange' берет значение параметра и добавляет его в URL. При установке значения? Orderby = date & order = DESC это работает ...
Однако он перезагружает страницу (что нормально) и не сохраняет значение выбранного параметра ... поэтому в раскрывающемся поле не отображается выбранное значение ...
Также не удаляет значение, если я выбираю другое. Таким образом, он добавит? Orderby = date & order = ASC в конце orderby = date & order = DESC, если он выбран. И продолжит делать то, что вызывает проблемы.
В-третьих, «Представления», похоже, не работают, не уверен, какое значение должно иметь фильтрование по количеству людей, просмотревших страницу (это вообще возможно?!)
if ( have_posts() ) :
echo '<div class="posts-query">';?>
<div id="sortby"> SORT BY:
<select class="dropdown-class" name="sort-posts" id="sortbox" onchange="document.location.href=location.href+this.options[this.selectedIndex].value;">
<option disabled>Sort by</option>
<option value="?orderby=date&order=DESC">Newest</option>
<option value="?orderby=date&order=ASC">Oldest</option>
<option value="?orderby=title&order=ASC">A-Z Asc</option>
<option value="?orderby=title&order=DESC">A-Z Desc</option>
<option value="?orderby=views&order=ASC">Views Asc</option>
<option value="?orderby=views&order=DESC">Views Asc</option>
</select>
</div>
<?php while ( have_posts() ) : the_post(); ?>
<div class="query-post">
<div class="posts-image">
<?php the_post_thumbnail("thumbnail");?>
</div>
<div class="post-categories">
<?php $postType = get_post_type_object(get_post_type());
if ($postType) {
echo esc_html($postType->labels->singular_name);
} ?>
</div>
<div class="posts-title">
<a href="<?php the_permalink(); ?>">
<h3>
<?php the_title() ?>
</h3>
</a>
</div>
</div>
<?php endwhile; endif; ?>
Есть ли способ просто отсортировать WP_Query по дате, заголовку и просмотрам, и он не только СОХРАНИТ выбранный результат в раскрывающемся списке параметров как «выбранный», но также удалит предыдущий запрос, если выбран новый из выпадающего списка?