Make sure attribute term dropdown adheres to sort order setting (#36047)
* Make sure attribute term dropdown adheres to sort order setting of attribute * Fix spacing * Fix lint errors
This commit is contained in:
parent
679fac1bfa
commit
309ed6303f
|
@ -0,0 +1,4 @@
|
||||||
|
Significance: patch
|
||||||
|
Type: fix
|
||||||
|
|
||||||
|
Fix issue where attribute term dropdown was not adhering to sort order setting.
|
|
@ -324,6 +324,7 @@ jQuery( function( $ ) {
|
||||||
return {
|
return {
|
||||||
taxonomy: $( this ).data( 'taxonomy' ),
|
taxonomy: $( this ).data( 'taxonomy' ),
|
||||||
limit: $( this ).data( 'limit' ),
|
limit: $( this ).data( 'limit' ),
|
||||||
|
orderby: $( this ).data( 'orderby'),
|
||||||
term: params.term,
|
term: params.term,
|
||||||
action: 'woocommerce_json_search_taxonomy_terms',
|
action: 'woocommerce_json_search_taxonomy_terms',
|
||||||
security: wc_enhanced_select_params.search_taxonomy_terms_nonce
|
security: wc_enhanced_select_params.search_taxonomy_terms_nonce
|
||||||
|
|
|
@ -37,13 +37,17 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( 'select' === $attribute_taxonomy->attribute_type ) {
|
if ( 'select' === $attribute_taxonomy->attribute_type ) {
|
||||||
|
$attribute_orderby = ! empty( $attribute_taxonomy->attribute_orderby ) ? $attribute_taxonomy->attribute_orderby : 'name';
|
||||||
?>
|
?>
|
||||||
<select multiple="multiple" data-minimum_input_length="0" data-limit="50" data-return_id="id" data-placeholder="<?php esc_attr_e( 'Select terms', 'woocommerce' ); ?>" class="multiselect attribute_values wc-taxonomy-term-search" name="attribute_values[<?php echo esc_attr( $i ); ?>][]" data-taxonomy="<?php echo esc_attr( $attribute->get_taxonomy() ); ?>">
|
<select multiple="multiple"
|
||||||
|
data-minimum_input_length="0"
|
||||||
|
data-limit="50" data-return_id="id"
|
||||||
|
data-placeholder="<?php esc_attr_e( 'Select terms', 'woocommerce' ); ?>"
|
||||||
|
data-orderby="<?php echo esc_attr( $attribute_orderby ); ?>"
|
||||||
|
class="multiselect attribute_values wc-taxonomy-term-search"
|
||||||
|
name="attribute_values[<?php echo esc_attr( $i ); ?>][]"
|
||||||
|
data-taxonomy="<?php echo esc_attr( $attribute->get_taxonomy() ); ?>">
|
||||||
<?php
|
<?php
|
||||||
$args = array(
|
|
||||||
'orderby' => ! empty( $attribute_taxonomy->attribute_orderby ) ? $attribute_taxonomy->attribute_orderby : 'name',
|
|
||||||
'hide_empty' => 0,
|
|
||||||
);
|
|
||||||
$selected_terms = $attribute->get_terms();
|
$selected_terms = $attribute->get_terms();
|
||||||
if ( $selected_terms ) {
|
if ( $selected_terms ) {
|
||||||
foreach ( $selected_terms as $selected_term ) {
|
foreach ( $selected_terms as $selected_term ) {
|
||||||
|
|
|
@ -1745,10 +1745,11 @@ class WC_AJAX {
|
||||||
$search_text = isset( $_GET['term'] ) ? wc_clean( wp_unslash( $_GET['term'] ) ) : '';
|
$search_text = isset( $_GET['term'] ) ? wc_clean( wp_unslash( $_GET['term'] ) ) : '';
|
||||||
$limit = isset( $_GET['limit'] ) ? absint( wp_unslash( $_GET['limit'] ) ) : null;
|
$limit = isset( $_GET['limit'] ) ? absint( wp_unslash( $_GET['limit'] ) ) : null;
|
||||||
$taxonomy = isset( $_GET['taxonomy'] ) ? wc_clean( wp_unslash( $_GET['taxonomy'] ) ) : '';
|
$taxonomy = isset( $_GET['taxonomy'] ) ? wc_clean( wp_unslash( $_GET['taxonomy'] ) ) : '';
|
||||||
|
$orderby = isset( $_GET['orderby'] ) ? wc_clean( wp_unslash( $_GET['orderby'] ) ) : 'name';
|
||||||
|
|
||||||
$args = array(
|
$args = array(
|
||||||
'taxonomy' => $taxonomy,
|
'taxonomy' => $taxonomy,
|
||||||
'orderby' => 'id',
|
'orderby' => $orderby,
|
||||||
'order' => 'ASC',
|
'order' => 'ASC',
|
||||||
'hide_empty' => false,
|
'hide_empty' => false,
|
||||||
'fields' => 'all',
|
'fields' => 'all',
|
||||||
|
|
Loading…
Reference in New Issue