Möglich, einen Permalink zu erstellen, um mit meta_key zu sortieren?

Ich fühle mich, als wäre ich im Internet und wieder zurück auf der Suche nach einer Antwort auf dieses und es fängt wirklich an, meine Gänge zu schleifen.

Ich bin mir nicht sicher, ob dies der richtige Weg ist, aber ich möchte ein query_posts-Array zu einer URL in Form einer query_arg hinzufügen. Das ist unsere Frage:

query_posts( array( 'meta_key' => 'rank', 'orderby' => 'meta_value_num', 'order' => 'DESC' , 'paged' => $paged, 

Wie verwende ich add_query_arg, um das an die URL zu übergeben, um die Posts mit diesem meta_key / query_posts-Array neu zu ordnen? Ich habe es versucht, es scheint die Reihenfolge der Posts nicht zu ändern, da fehlt mir etwas.

 <a href="https://wordpress.stackexchange.com/questions/139657/possible-to-create-a-permalink-to-sort-with-meta-key/"> Rank   'rank', 'orderby' => 'meta_value_num', 'order' => 'DESC'))); ?> 

Der Grund, warum ich die Abfrage-Vars zur URL-Zeichenfolge hinzufügen möchte, besteht darin, dass Benutzer Beiträge auf Kategorieseiten basierend auf dem Meta-Schlüssel / Meta-Wert sortieren können. Ähnlich wie orthry = date, außer mit einem Meta-Schlüssel.

Das kann gemacht werden, oder? Weil ich ernsthaft anfange zu denken, dass es nicht möglich ist.

EDIT: – Versucht dies, dies funktioniert, um Beiträge nach ASC / DESC Reihenfolge, aber nicht durch die Meta-Schlüssel zu sortieren

  $meta_key, 'orderby' => $orderby, 'order' => $order ))); ?> <a href="https://wordpress.stackexchange.com/questions/139657/possible-to-create-a-permalink-to-sort-with-meta-key/"> Rank  

Ich sollte hinzufügen, dass wenn ich das query_posts-Array direkt in die Seitenvorlage hinzufügen, funktioniert es gut.

Solutions Collecting From Web of "Möglich, einen Permalink zu erstellen, um mit meta_key zu sortieren?"

Was ist mit so etwas?

 function wpse139657_orderby(){ if( isset($_GET['orderby']) ){ $order = $_GET['order'] or 'DESC'; set_query_var('orderby', 'meta_value_num'); set_query_var('meta_key', $_GET['orderby']); set_query_var('order', $order); } } add_filter('pre_get_posts','wpse139657_orderby'); 

Auf diese Weise können Sie Ihre URLs mit einem ?orderby=rank suffixed ?orderby=rank und es sollte den Trick machen. Sie können auch einen optionalen order , falls Sie ihn implementieren möchten.