Сохранять настраиваемый параметр URL на нескольких страницах

Я создал настраиваемый параметр URL для сортировки сообщений по результатам голосования. У меня есть «самая проголосовавшая» ссылка, которая отправляет URL-адрес ?sort=most_voted URL и использует фильтр сообщений о сообщениях. Я показываю сообщения с большинством голосов.

Если, например, я хочу отображать большинство проголосовавших должностей в категории 5, мне нужен такой URL ?cat=5&sort=most_votes

Как сохранить / прикрепить параметр sort в URL-адресе при просмотре категорий (или даже по имени тега, поиску и т. Д.)?

Solutions Collecting From Web of "Сохранять настраиваемый параметр URL на нескольких страницах"

Вам нужно будет перехватить ссылки, сгенерированные WordPress, и добавить запрос var к соответствующим URL-адресам.

Вы можете сделать это довольно легко с фильтром по URL категории с чем-то вроде …

 function add_my_query_var( $link ) { $link = add_query_arg( 'sort', 'most_voted', $link ); return $link; } add_filter('category_link','add_my_query_var'); 

Я также заметил этот удобный список фильтров на почте Майка на SO , он должен охватывать все возможные URL-адреса, которые вы хотите настроить для vars запросов …

 add_filter('page_link','add_my_query_var'); add_filter('post_link','add_my_query_var'); add_filter('term_link','add_my_query_var'); add_filter('tag_link','add_my_query_var'); add_filter('category_link','add_my_query_var'); add_filter('post_type_link','add_my_query_var'); add_filter('attachment_link','add_my_query_var'); add_filter('year_link','add_my_query_var'); add_filter('month_link','add_my_query_var'); add_filter('day_link','add_my_query_var'); add_filter('search_link','add_my_query_var'); add_filter('feed_link','add_my_query_var'); add_filter('post_comments_feed_link','add_my_query_var'); add_filter('author_feed_link','add_my_query_var'); add_filter('category_feed_link','add_my_query_var'); add_filter('taxonomy_feed_link','add_my_query_var'); add_filter('search_feed_link','add_my_query_var'); add_filter('get_edit_tag_link','add_my_query_var'); add_filter('get_edit_post_link','add_my_query_var'); add_filter('get_delete_post_link','add_my_query_var'); add_filter('get_edit_comment_link','add_my_query_var'); add_filter('get_edit_bookmark_link','add_my_query_var'); add_filter('index_rel_link','add_my_query_var'); add_filter('parent_post_rel_link','add_my_query_var'); add_filter('previous_post_rel_link','add_my_query_var'); add_filter('next_post_rel_link','add_my_query_var'); add_filter('start_post_rel_link','add_my_query_var'); add_filter('end_post_rel_link','add_my_query_var'); add_filter('previous_post_link','add_my_query_var'); add_filter('next_post_link','add_my_query_var'); add_filter('get_pagenum_link','add_my_query_var'); add_filter('get_comments_pagenum_link','add_my_query_var'); add_filter('shortcut_link','add_my_query_var'); add_filter('get_shortlink','add_my_query_var'); add_filter('home_url','add_my_query_var'); add_filter('site_url','add_my_query_var'); add_filter('admin_url','add_my_query_var'); add_filter('includes_url','add_my_query_var'); add_filter('content_url','add_my_query_var'); add_filter('plugins_url','add_my_query_var'); add_filter('network_site_url','add_my_query_var'); add_filter('network_home_url','add_my_query_var'); add_filter('network_admin_url','add_my_query_var'); 

Надеюсь, это поможет..

Вы можете использовать функцию add_query_arg () (WordPress Function), чтобы добавить дополнительный параметр для части запроса (или также называемой query-info) URL-адреса.

 $baseUrl = '...'; // the url you want to add your parameter to $sort = '...'; // the sort parameter you have $sortUrl = add_query_arg('sort', $sort, $baseUrl);