So, I have this code, which filters by meta value _pointss:
add_filter('woocommerce_get_catalog_ordering_args', 'wcs_get_catalog_ordering_args');
function wcs_get_catalog_ordering_args($args)
{
$orderby_value = isset($_GET['orderby']) ? woocommerce_clean($_GET['orderby']) : apply_filters('woocommerce_default_catalog_orderby', get_option('woocommerce_default_catalog_orderby'));
if ('defaultt' === $orderby_value) {
$args['orderby'] = 'meta_value';
$args['meta_key'] = '_pointss';
$args['order'] = 'DESC';
}
return $args;
}
It should order from biggest integer to smallest. However, now it gets "99" to the top, ignoring that the biggest value is 4000.
I assume problem resolves when I convert automatically value from string to integer. How can I do that? Or am I wrong?