Conservar el parámetro de URL personalizado en más páginas

4

Creé un parámetro de URL personalizado para clasificar las publicaciones según su puntaje de voto. Tengo un enlace "más votado" que envía un parámetro ?sort=most_voted URL y al usar un filtro de publicaciones de consulta, muestro las publicaciones con la mayoría de los votos.

Si, por ejemplo, quiero mostrar las publicaciones más votadas en la categoría 5, necesitaré una URL como esta ?cat=5&sort=most_votes

¿Cómo conservo / adjunto el parámetro sort en la URL al navegar por categorías (o incluso por nombre de etiqueta, búsqueda, etc.)?

    
pregunta wpStudent 28.11.2010 - 22:28

2 respuestas

3

Deberá interceptar los enlaces generados por WordPress y adjuntar la var de consulta en las URL relevantes.

Puedes hacer esto fácilmente con un filtro en las URL de categoría con 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');

También encontré esta útil lista de filtros en la publicación de Mike en SO , debería cubrir todas las URL posibles en las que desearía modificar las variables de consulta 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 ayude ..

    
respondido por el t31os 29.11.2010 - 18:23
2

Puede utilizar add_query_arg () (Wordpress Function) para agregar un parámetro adicional a la consulta (o también llamada información de consulta) parte de una URL.

$baseUrl = '...'; // the url you want to add your parameter to
$sort = '...'; // the sort parameter you have
$sortUrl = add_query_arg('sort', $sort, $baseUrl);
    
respondido por el hakre 29.11.2010 - 10:52

Lea otras preguntas en las etiquetas