web-dev-qa-db-ja.com

他のページでカスタムURLパラメータを保持する

投票スコアで投稿を並べ替えるためのカスタムURLパラメータを作成しました。私は、?sort=most_votedというURLパラメータを送信し、クエリ投稿フィルタを使用して、最も投票の多い投稿を表示する「最も投票された」リンクを持っています。

たとえば、カテゴリ5で最も投票された投稿を表示したい場合、このようなURLが必要になります?cat=5&sort=most_votes

カテゴリを参照するときに(またはタグ名、検索などでも)URLのsortパラメータを保持/添付するにはどうすればよいですか。

4
wpStudent

あなたはWordPressによって生成されたリンクを傍受し、関連するURLにクエリvarを追加する必要があります。

あなたは以下のようなものでカテゴリ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を網羅しているはずです...

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

それが役立つことを願っています..

3
t31os

add_query_arg()(Wordpress関数) を使用して、URLのquery(またはquery-infoとも呼ばれる)部分に追加のパラメータを追加できます。

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