Архив sort Dropdown menu Frontend
Есть в редакторе архива произвольное поле с сортировкой вывода постов

Далее уже в query запросе подставляю нужные данные
Хочу вывести для пользователей такую менюшку. Как лучше это сделать?? Посмотрел через $_GET запросы в URL, не понравилось.
Кто как делает? Поделитесь опытом. Лично намерен куки в код обязательно включать. Так же есть задумка для пользователей добавить в базу данных отдельную запись с сохранением всех сортировок на сайте, а там разделение приоритетов сортировки из : (куки | кастом | usermeta).
Пока что решил так, сейчас функционала достаточно
<?php $cat_id = 'текущая категория'; $show_ppp_val = 0; if ( is_user_logged_in() || current_user_can('manage_options') ) { $user_id_ppp = get_current_user_id(); $show_ppp_arr = get_user_meta( $user_id_ppp, 'show_ppp', true ); $show_ppp_val = $show_ppp_arr[ $cat_id ]; if ( isset( $_POST['show_ppp'] ) ) { // Выбрано стандартное значение if ( $_POST['show_ppp'] == 0 ) { unset( $show_ppp_arr[ $cat_id ] ); // Выбрано кастомное значение - проверка перед обновлением БД } else { if ( in_array( $_POST['show_ppp'] , array('60','70','80','90','100') )) { $safe_val = $_POST['show_ppp']; } else { exit( 'ERROR' ); } $show_ppp_arr[ $cat_id ] = $safe_val; } update_user_meta( $user_id_ppp, 'show_ppp', $show_ppp_arr ); $show_ppp_val = $safe_val; } } if ( $show_ppp_val > 50 ) { $show_ppp = $show_ppp_val; } else { $show_ppp = 50; } query_posts(array( 'cat' => $cat_id, 'order' => 'ASC', // сортировка от первого до последнего 1 2 3 'meta_key' => $meta_key, 'orderby' => $orderby , // none, ID, author, title name(slug), type, date, rand 'paged' => $paged, 'posts_per_page' => $show_ppp )); ?> <form action="" method="post" style="display: inline-block;"> Количество: <select id="animal" name="show_ppp"> <option value="0" <?php selected( $show_ppp_val, '0' )?> >-- Стандартно --</option> <option value="60" <?php selected( $show_ppp_val, '60' )?> >60</option> <option value="70" <?php selected( $show_ppp_val, '70' )?> >70</option> <option value="80" <?php selected( $show_ppp_val, '80' )?> >80</option> <option value="90" <?php selected( $show_ppp_val, '90' )?> >90</option> <option value="100" <?php selected( $show_ppp_val, '100' )?>>100</option> </select> <input type="submit" value="Set" class="updppp"> </form>