I have, for a plugin I'm working on, created custom sortable column.
I have a column called featured that will output a checkmark symbol
echo '✓';
The function for sortable columns is
function my_sortable_column( $columns ) {
$columns['featured'] = 'featured_item';
return $columns;
}
add_filter( 'manage_edit-portfolio_sortable_columns', 'my_sortable_column' );
function manage_wp_posts_be_qe_pre_get_posts( $query ) {
if ( $query->is_main_query() && (!is_admin()) && ( $orderby = $query->get( 'orderby' ) ) ) {
switch( $orderby ) {
case 'featured_item':
$query->set( 'meta_key', 'featured_item' );
$query->set( 'orderby', 'meta_value_num' );
break;
}
}
}
add_action( 'pre_get_posts', 'manage_wp_posts_be_qe_pre_get_posts', 1 );
The problem is that the orderby doesn't work because the output is not an alphanumerical one. It's a checkmark. How do I sort that? I've tried putting
$query->set( 'orderby', 'name' );
$query->set( 'orderby', 'meta_value' );
$query->set( 'orderby', 'meta_value meta_value_num' );
Nothing works. Is there a way to sort that?
Aucun commentaire:
Enregistrer un commentaire