Home › Forums › WoodMart support forum › Query parameter › Reply To: Query parameter
April 6, 2024 at 10:23 am
#555354

Aizaz Imtiaz Awan
Keymaster
Hello,
Please try to remove the precious code and add the code below in the functions.php file in your child theme.
function skyverge_add_postmeta_ordering_args( $sort_args ) {
$orderby_value = isset( $_GET['orderby'] ) ? wc_clean( $_GET['orderby'] ) : apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
switch( $orderby_value ) {
case 'new_label':
$sort_args['orderby'] = 'meta_value';
$sort_args['order'] = 'asc';
$sort_args['meta_key'] = '_woodmart_new_label';
$sort_args['orderby'] = 'meta_value_num';
// Adjust the meta key to match the one used for product variations
$sort_args['meta_query'] = array(
array(
'key' => '_variation_id', // Use _variation_id to target product variations
'compare' => 'EXISTS', // Ensure that variations exist
)
);
break;
}
return $sort_args;
}
add_filter( 'woocommerce_get_catalog_ordering_args', 'skyverge_add_postmeta_ordering_args' );
function skyverge_add_new_postmeta_orderby( $sortby ) {
$sortby['new_label'] = __( 'New Label', 'woocommerce' );
return $sortby;
}
add_filter( 'woocommerce_default_catalog_orderby_options', 'skyverge_add_new_postmeta_orderby' );
add_filter( 'woocommerce_catalog_orderby', 'skyverge_add_new_postmeta_orderby' );
Best Regards.