Ordina per DESC, ASC in WP_Query
-
-
Bene,dovrestipubblicareil WP_Query,per vedere se èformato correttamente.Well, you should post the WP_Query, to see if it is formed right.
- 0
- 2013-08-13
- Marin Bînzari
-
Eccoloin tutta la suagloria.Almomentonon sto ordinandopernient'altro che quelmeta valorebooleanob/cera l'unicomodoperfarfunzionare quel livello o l'ordinamento.Il sito utilizza anchepost "titolo" che hanno laprecedenza suipost "inprimopiano".Quindi liescludoin questa queryThere it is in all it's glory. I'm currently not ordering by anything but that boolean meta value b/c it was the only way to get that level or sorting working. The site also uses 'headline' posts which take precedence over 'featured' posts. Thus I exclude them in this query
- 0
- 2013-08-13
- ian
-
1 risposta
- voti
-
- 2013-08-13
Prova questo:
$args = array( 'post_type' => 'post', 'meta_key' => 'pb_issue_featured', 'orderby' => 'meta_value', 'order' => 'DESC', 'posts_per_page' => $posts, 'paged' => $paged, 'paged' => 1, 'meta_query' => array( array( 'key' => 'headline', 'value' => 1, 'compare' => '!=' ) ) ); add_filter( 'posts_orderby', 'filter_query' ); $q = new WP_Query($args); remove_filter( 'posts_orderby', 'filter_query' ); function filter_query( $query ) { $query .= ', wp_posts.menu_order ASC'; return $query; }
Try this:
$args = array( 'post_type' => 'post', 'meta_key' => 'pb_issue_featured', 'orderby' => 'meta_value', 'order' => 'DESC', 'posts_per_page' => $posts, 'paged' => $paged, 'paged' => 1, 'meta_query' => array( array( 'key' => 'headline', 'value' => 1, 'compare' => '!=' ) ) ); add_filter( 'posts_orderby', 'filter_query' ); $q = new WP_Query($args); remove_filter( 'posts_orderby', 'filter_query' ); function filter_query( $query ) { $query .= ', wp_posts.menu_order ASC'; return $query; }
-
Come unboss Spartakus.Grazieper la risposta concisae precisa.Questo hafunzionato come unfascinoLike a boss Spartakus. Thanks for the concise and accurate answer. This worked like a charm
- 0
- 2013-08-13
- ian
-
Puoi anche usare un arraynella clausola orderby (WP 4.0e versioni successive)You could also use an array in the order by clause (WP 4.0 and newer)
- 1
- 2017-04-25
- Blueriver
Devoeseguire l'ordinamento apiù livelliin una query. Ilproblema è ordinare un valore DESCe l'altro ASC comein SQL. Il seguente SQL sembra darmi quello che voglio quando loeseguonelterminale:
pb_issue_featured
è un valorebooleano. Il risultatofinale di cui hobisogno è la queryper visualizzarei post che hanno unmeta valore di 1per questo campoin alto,quindituttigli altri sotto. Quindiil secondo livello di ordinamento èilmenu_order
designato (sto usandoilplug-inper l'ordine deitipi dipost).Ilproblema è cheilmio valorebooleano deveessere ordinato dalpiù alto alpiùbasso (da 1 a 0)mamenu_order è l'opposto. Ciò che viene ordinatoperprimo conilplug-in ha un ordine dimenupari a 1. Quindi l'utilizzo delbuiltin "orderby"in WP_Querynonfunziona. Qualcuno ha suggerimenti? Hoesaminatoilfiltro "posts_orderby"manon sono riuscito afarlofunzionare. Nonero davvero sicuro di dove dovesseessere applicato o come avreipotuto risolverlo. Semplicementenon è stato riordinato come l'avevoio.
Grazieper l'aiuto! Pubblicherò l'attuale WP_Query se è rilevante,ma volevomantenerloilpiùbrevepossibile.
Gli argomenti della query: