Ordonare multiplă în acțiunea pre_get_posts
1 dec. 2014, 18:23:24
Vizualizări: 21.2K
Voturi: 8
Obișnuiam să pot sorta rezultatele interogării după 2 criterii ("sortează rezultatele mai întâi după status=nevândut ASC apoi după dată DESC) astfel:
add_action( 'pre_get_posts', 'my_get_posts' );
function my_get_posts( $query )
{
if (is_admin()){
return;
}
if (is_post_type_archive('objet')){
// Stoc: sortează întâi după nevândute, apoi după dată
$query->set('meta_key', 'wpcf-object-sold-status' );
$query->set('orderby', 'meta_value date');
$query->set('order', 'ASC DESC' );
}
return $query;
}
Dar acum, nu mai modifică ordinea rezultatelor. Nu am nicio idee de ce a încetat să funcționeze. Poate din cauza actualizării de la WordPress 3 la 4?

pixeline
2.88K
Comentarii
Toate răspunsurile la întrebare
1
0
După cum a spus Milo :
$query->set('meta_key', 'wpcf-object-sold-status' );
$query->set('orderby', array('meta_value' => 'ASC', 'date' => 'DESC'));
// $query->set('order', 'ASC DESC' ); // nu este necesar
Link relevant: https://make.wordpress.org/core/2014/08/29/a-more-powerful-order-by-in-wordpress-4-0/

skim-
638
2 dec. 2014 00:44:25
Întrebări similare
1
răspunsuri
2
răspunsuri
6
răspunsuri