Skip to content

Commit

Permalink
Merge pull request #78 from codersaiful/2.8.3.5
Browse files Browse the repository at this point in the history
2.8.3.5
  • Loading branch information
codersaiful authored Feb 8, 2021
2 parents 38d983e + b002127 commit 9f2628d
Show file tree
Hide file tree
Showing 8 changed files with 341 additions and 34 deletions.
33 changes: 33 additions & 0 deletions admin/tabs/basics.php
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ function add_mega_menu_items( $items, $args ) {
$options_item = esc_html( 'None ', 'wpt' ) . $term_name;
$options_item = "<option value=''>{$options_item}</option>";
$options_item = ""; //REmoved Default None Value
$selecteds = isset( $data['terms'][$term_key] ) ? $data['terms'][$term_key] : false;
if( is_array( $term_obj ) && count( $term_obj ) > 0 ){
$selected_term_ids = isset( $data['terms'][$term_key] ) ? $data['terms'][$term_key] : false;
foreach ( $term_obj as $terms ) {
Expand Down Expand Up @@ -121,6 +122,38 @@ function add_mega_menu_items( $items, $args ) {
}

if( !empty( $options_item ) ){

/*****************************************
$defaults = array(
'show_option_all' => '',
'show_option_none' => '',
'orderby' => 'name',
'order' => 'ASC',
'show_count' => 0,
'hide_empty' => 1,
'child_of' => 0,
'exclude' => '',
'echo' => 1,
'selected' => $selecteds,
'hierarchical' => 1,//0, // 1 for Tree format, and 0 for plane format
'name' => "basics[data][terms][$term_key]",//'cat',
'id' => 'wpt_term_' . $term_key,//'',
'class' => "wpt_select2 ua_select wpt_query_terms ua_query_terms_" . $term_key,//'postform',
'depth' => 0,
'tab_index' => 0,
'taxonomy' => $term_key,//'category',
'hide_if_empty' => false,
'option_none_value' => -1,
'value_field' => 'term_id',
'multiple' => true,
'data-key' => $term_key,
);
//Helping from https://wordpress.stackexchange.com/questions/216070/wp-dropdown-categories-with-multiple-select/253403
wpt_wp_dropdown_categories( $defaults );
//***************************************/
?>
<select name="basics[data][terms][<?php echo esc_attr( $term_key ); ?>][]" class="wpt_select2 wpt_query_terms ua_query_terms_<?php echo esc_attr( $term_key ); ?> ua_select" id="wpt_term_<?php echo esc_attr( $term_key ); ?>" multiple="multiple">
<?php echo $options_item; ?>
Expand Down
7 changes: 7 additions & 0 deletions assets/css/universal.css
Original file line number Diff line number Diff line change
Expand Up @@ -1541,6 +1541,13 @@ div.wpt_product_table_wrapper table.wpt_product_table th.wpt_action {
margin: 10px 0;
}

/***************Search Box or option start****************/
/*option.level-1 {
padding-left: 25px;
}*/
/***************Search Box or option end****************/


.wpt_varition_section.variations {
width: 100%;
}
Expand Down
4 changes: 3 additions & 1 deletion assets/js/custom.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
$(document).ready(function() {
//Select2
if(typeof $('.wpt_product_table_wrapper .search_select').select2 === 'function' && $('.wpt_product_table_wrapper .search_select').length > 0){
$('.wpt_product_table_wrapper .search_select,select.filter_select').select2();//, .wpt_varition_section select
$('.wpt_product_table_wrapper .search_select,select.filter_select').select2({
tags: true,
});//, .wpt_varition_section select
}
var windowWidth = $(window).width();

Expand Down
14 changes: 9 additions & 5 deletions includes/ajax_add_to_cart.php
Original file line number Diff line number Diff line change
Expand Up @@ -540,19 +540,23 @@ function wpt_render_meta_on_cart_and_checkout( $cart_data, $cart_item = null ) {
* Adding Customer Message to Order
*
* @param type $item_id Session ID of Item's
* @param type $values Value's Array of Customer message
* @param type $cart_item_key
* @param type $item Value's Array of Customer message
* @param type $order_id
*
* @since 1.9 6.6.2018 d.m.y
* @fixed 8.2.2021 d.m.y fixed to this date
* @return Void This Function will add Customer Custom Message to Order
*/
function wpt_order_meta_handler( $item_id, $values, $cart_item_key ) {
function wpt_order_meta_handler( $item_id, $item, $order_id ) {
$values = $item->legacy_values;

if( isset( $values['wpt_custom_message'] ) ) {
$msg_string = __( 'Message', 'wpt_pro' );
$args['item_id'] = $item_id;
$args['values'] = $values;
$args['cart_item_key'] = $cart_item_key;
$msg_string = apply_filters( 'wpto_shortmessage_string',$msg_string, $args );
$args['item'] = $item;
$args['cart_item_key'] = $order_id;
$msg_string = apply_filters( 'wpto_shortmessage_string', $msg_string, $args );
wc_add_order_item_meta( $item_id, $msg_string, $values['wpt_custom_message'] );
}
}
Expand Down
196 changes: 196 additions & 0 deletions includes/functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,202 @@ function wpt_per_item_fragment($fragments)
}
}

/**
* Displays or retrieves the HTML dropdown list of categories.
*
* The 'hierarchical' argument, which is disabled by default, will override the
* depth argument, unless it is true. When the argument is false, it will
* display all of the categories. When it is enabled it will use the value in
* the 'depth' argument.
*
* @since 2.1.0
* @since 4.2.0 Introduced the `value_field` argument.
* @since 4.6.0 Introduced the `required` argument.
*
* @param array|string $args {
* Optional. Array or string of arguments to generate a categories drop-down element. See WP_Term_Query::__construct()
* for information on additional accepted arguments.
*
* @type string $show_option_all Text to display for showing all categories. Default empty.
* @type string $show_option_none Text to display for showing no categories. Default empty.
* @type string $option_none_value Value to use when no category is selected. Default empty.
* @type string $orderby Which column to use for ordering categories. See get_terms() for a list
* of accepted values. Default 'id' (term_id).
* @type bool $pad_counts See get_terms() for an argument description. Default false.
* @type bool|int $show_count Whether to include post counts. Accepts 0, 1, or their bool equivalents.
* Default 0.
* @type bool|int $echo Whether to echo or return the generated markup. Accepts 0, 1, or their
* bool equivalents. Default 1.
* @type bool|int $hierarchical Whether to traverse the taxonomy hierarchy. Accepts 0, 1, or their bool
* equivalents. Default 0.
* @type int $depth Maximum depth. Default 0.
* @type int $tab_index Tab index for the select element. Default 0 (no tabindex).
* @type string $name Value for the 'name' attribute of the select element. Default 'cat'.
* @type string $id Value for the 'id' attribute of the select element. Defaults to the value
* of `$name`.
* @type string $class Value for the 'class' attribute of the select element. Default 'postform'.
* @type int|string $selected Value of the option that should be selected. Default 0.
* @type string $value_field Term field that should be used to populate the 'value' attribute
* of the option elements. Accepts any valid term field: 'term_id', 'name',
* 'slug', 'term_group', 'term_taxonomy_id', 'taxonomy', 'description',
* 'parent', 'count'. Default 'term_id'.
* @type string|array $taxonomy Name of the taxonomy or taxonomies to retrieve. Default 'category'.
* @type bool $hide_if_empty True to skip generating markup if no categories are found.
* Default false (create select element even if no categories are found).
* @type bool $multiple Whether the `<select>` element should have the HTML5 'required' attribute.
* Default false.
* }
* @return string HTML dropdown list of categories.
*/
function wpt_wp_dropdown_categories( $args = '', $get_taxonomy = false ) {
$defaults = array(
'show_option_all' => '',
'show_option_none' => '',
'orderby' => 'id',
'order' => 'ASC',
'show_count' => 0,
'hide_empty' => 1,
'child_of' => 0,
'exclude' => '',
'echo' => 1,
'selected' => 0,
'hierarchical' => 0,
'name' => 'cat',
'id' => '',
'class' => 'postform',
'depth' => 0,
'tab_index' => 0,
'taxonomy' => 'category',
'hide_if_empty' => false,
'option_none_value' => -1,
'value_field' => 'term_id',
'multiple' => false,
'data-key' => false,
);

$defaults['selected'] = ( is_category() ) ? get_query_var( 'cat' ) : 0;

// Back compat.
if ( isset( $args['type'] ) && 'link' === $args['type'] ) {
_deprecated_argument(
__FUNCTION__,
'3.0.0',
sprintf(
/* translators: 1: "type => link", 2: "taxonomy => link_category" */
__( '%1$s is deprecated. Use %2$s instead.' ),
'<code>type => link</code>',
'<code>taxonomy => link_category</code>'
)
);
$args['taxonomy'] = 'link_category';
}

// Parse incoming $args into an array and merge it with $defaults.
$parsed_args = wp_parse_args( $args, $defaults );

$option_none_value = $parsed_args['option_none_value'];

if ( ! isset( $parsed_args['pad_counts'] ) && $parsed_args['show_count'] && $parsed_args['hierarchical'] ) {
$parsed_args['pad_counts'] = true;
}

$tab_index = $parsed_args['tab_index'];

$tab_index_attribute = '';
if ( (int) $tab_index > 0 ) {
$tab_index_attribute = " tabindex=\"$tab_index\"";
}

// Avoid clashes with the 'name' param of get_terms().
$get_terms_args = $parsed_args;
unset( $get_terms_args['name'] );
$categories = get_terms( $get_terms_args );

if( is_array( $get_taxonomy ) && ! empty( $get_taxonomy ) ){
$categories = $get_taxonomy;
}

$name = esc_attr( $parsed_args['name'] );
$class = esc_attr( $parsed_args['class'] );
$id = $parsed_args['id'] ? esc_attr( $parsed_args['id'] ) : $name;
$multiple = $parsed_args['multiple'] ? 'multiple' : '';

$data_key = $parsed_args['data-key'] ? esc_attr( $parsed_args['data-key'] ) : '';

if ( ! $parsed_args['hide_if_empty'] || ! empty( $categories ) ) {
$output = "<select data-key='$data_key' $multiple name='$name' id='$id' class='$class' $tab_index_attribute>\n";
} else {
$output = '';
}
if ( empty( $categories ) && ! $parsed_args['hide_if_empty'] && ! empty( $parsed_args['show_option_none'] ) ) {

/**
* Filters a taxonomy drop-down display element.
*
* A variety of taxonomy drop-down display elements can be modified
* just prior to display via this filter. Filterable arguments include
* 'show_option_none', 'show_option_all', and various forms of the
* term name.
*
* @since 1.2.0
*
* @see wp_dropdown_categories()
*
* @param string $element Category name.
* @param WP_Term|null $category The category object, or null if there's no corresponding category.
*/
$show_option_none = apply_filters( 'list_cats', $parsed_args['show_option_none'], null );
$output .= "\t<option value='" . esc_attr( $option_none_value ) . "' selected='selected'>$show_option_none</option>\n";
}

if ( ! empty( $categories ) ) {

if ( $parsed_args['show_option_all'] ) {

/** This filter is documented in wp-includes/category-template.php */
$show_option_all = apply_filters( 'list_cats', $parsed_args['show_option_all'], null );
$selected = ( '0' === (string) $parsed_args['selected'] ) ? " selected='selected'" : '';
$output .= "\t<option value=''$selected>$show_option_all</option>\n";
}

if ( $parsed_args['show_option_none'] ) {

/** This filter is documented in wp-includes/category-template.php */
$show_option_none = apply_filters( 'list_cats', $parsed_args['show_option_none'], null );
$selected = selected( $option_none_value, $parsed_args['selected'], false );
$output .= "\t<option value='" . esc_attr( $option_none_value ) . "'$selected>$show_option_none</option>\n";
}

if ( $parsed_args['hierarchical'] ) {
$depth = $parsed_args['depth']; // Walk the full depth.
} else {
$depth = -1; // Flat.
}
//var_dump($categories, $depth, $parsed_args);
$output .= walk_category_dropdown_tree( $categories, $depth, $parsed_args );
}

if ( ! $parsed_args['hide_if_empty'] || ! empty( $categories ) ) {
$output .= "</select>\n";
}

/**
* Filters the taxonomy drop-down output.
*
* @since 2.1.0
*
* @param string $output HTML output.
* @param array $parsed_args Arguments used to build the drop-down.
*/
$output = apply_filters( 'wp_dropdown_cats', $output, $parsed_args );

if ( $parsed_args['echo'] ) {
echo $output;
}

return $output;
}



if( !function_exists( 'wpt_paginate_links' ) ){
Expand Down
Loading

0 comments on commit 9f2628d

Please sign in to comment.