Preserve o parâmetro de URL personalizado em mais páginas

Eu criei um parâmetro de URL personalizado para classificar as postagens pelos seus resultados de votos. Eu tenho um link “mais votado” que envia um parâmetro de URL ” ?sort=most_voted e usando um filtro de postagens de consulta eu exibo posts com a maioria dos votos.

Se, por exemplo, eu quiser exibir os posts mais votados na categoria 5, vou precisar de um URL como este ?cat=5&sort=most_votes

Como faço para preservar / append o parâmetro de sort no URL ao navegar em categorias (ou mesmo por nome de etiqueta, pesquisa, etc.)?

Solutions Collecting From Web of "Preserve o parâmetro de URL personalizado em mais páginas"

Você precisará interceptar os links gerados pelo WordPress e append a consulta var nos URLs relevantes.

Você pode fazer isso facilmente com um filtro em URLs de categoria com algo como …

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

Eu também avisei esta lista útil de filtros na publicação de Mike em SO , ele deve abranger todos os URLs possíveis que você gostaria de ajustar as consultas para …

 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'); 

Espero que ajude..

Você pode usar o add_query_arg () (function WordPress) para adicionar um parâmetro adicional à parte da consulta (ou também chamada de consulta) de uma URL.

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