PluginProbe ʕ •ᴥ•ʔ
YITH WooCommerce Wishlist / 3.0.17
YITH WooCommerce Wishlist v3.0.17
4.16.0 trunk 2.1.0 2.1.1 2.1.2 2.2.0 2.2.1 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.17 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0.0 3.0.1 3.0.10 3.0.11 3.0.12 3.0.13 3.0.14 3.0.15 3.0.16 3.0.17 3.0.18 3.0.19 3.0.2 3.0.20 3.0.21 3.0.22 3.0.23 3.0.25 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.10.0 3.11.0 3.12.0 3.13.0 3.14.0 3.15.0 3.16.0 3.17.0 3.18.0 3.19.0 3.2.0 3.20.0 3.21.0 3.22.0 3.23.0 3.24.0 3.25.0 3.26.0 3.27.0 3.28.0 3.29.0 3.3.0 3.30.0 3.31.0 3.32.0 3.33.0 3.34.0 3.35.0 3.36.0 3.37.0 3.38.0 3.4.0 3.5.0 3.6.0 3.7.0 3.8.0 3.9.0 4.0.0 4.0.1 4.1.0 4.10.0 4.10.1 4.10.2 4.11.0 4.12.0 4.13.0 4.14.0 4.15.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0 4.8.0 4.9.0
yith-woocommerce-wishlist / plugin-fw / templates / fields / ajax-terms.php
yith-woocommerce-wishlist / plugin-fw / templates / fields Last commit date
resources 7 years ago ajax-customers.php 6 years ago ajax-posts.php 7 years ago ajax-products.php 8 years ago ajax-terms.php 7 years ago buttons.php 8 years ago checkbox-array.php 6 years ago checkbox.php 8 years ago colorpicker.php 5 years ago country-select.php 6 years ago custom.php 7 years ago customtabs.php 8 years ago date-format.php 7 years ago datepicker.php 6 years ago dimensions.php 5 years ago hidden.php 8 years ago html.php 8 years ago icons.php 8 years ago image-gallery.php 8 years ago inline-fields.php 5 years ago list-table.php 6 years ago multi-colorpicker.php 6 years ago multi-select.php 6 years ago number.php 8 years ago onoff.php 6 years ago password.php 6 years ago preview.php 8 years ago radio.php 5 years ago select-buttons.php 7 years ago select-images.php 6 years ago select-mailchimp.php 8 years ago select.php 5 years ago sep.php 8 years ago sidebarlist.php 8 years ago sidebars.php 8 years ago simple-text.php 8 years ago slider.php 8 years ago text-array.php 8 years ago text-button.php 8 years ago text.php 7 years ago textarea-codemirror.php 8 years ago textarea-editor.php 5 years ago textarea.php 7 years ago title.php 6 years ago toggle-element-fixed.php 6 years ago toggle-element.php 5 years ago upload.php 6 years ago
ajax-terms.php
132 lines
1 <?php
2 /**
3 * This file belongs to the YIT Plugin Framework.
4 *
5 * This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
6 * that is bundled with this package in the file LICENSE.txt.
7 * It is also available through the world-wide-web at this URL:
8 * http://www.gnu.org/licenses/gpl-3.0.txt
9 *
10 * @var array $field
11 *
12 * [Important Note] the stored value is:
13 * - array if WooCommerce version >= 3.0.0
14 * - string (comma-separated) otherwise
15 */
16
17 !defined( 'ABSPATH' ) && exit; // Exit if accessed directly
18
19 yith_plugin_fw_enqueue_enhanced_select();
20
21 $default_field = array(
22 'id' => '',
23 'name' => '',
24 'class' => 'yith-term-search',
25 'no_value' => false,
26 'multiple' => false,
27 'data' => array(),
28 'style' => 'width:400px',
29 'value' => ''
30 );
31
32 foreach ( $default_field as $field_key => $field_value ) {
33 if ( empty( $field[ $field_key ] ) ) {
34 $field[ $field_key ] = $field_value;
35 }
36 }
37 unset( $field_key );
38 unset( $field_value );
39 extract( $field );
40 /**
41 * @var string $id
42 * @var string $class
43 * @var bool $no_value
44 * @var bool $multiple
45 * @var array $data
46 * @var string $name
47 * @var string $style
48 * @var string|array $value
49 */
50
51 if ( $no_value )
52 $value = array();
53
54 $default_data = array(
55 'action' => 'yith_plugin_fw_json_search_terms',
56 'placeholder' => __( 'Search Categories', 'yith-plugin-fw' ),
57 'allow_clear' => false,
58 'taxonomy' => 'category',
59 'term_field' => 'id'
60 );
61 $data = wp_parse_args( $data, $default_data );
62 $show_id = isset( $data[ 'show_id' ] ) && $data[ 'show_id' ];
63
64 // separate select2 needed data and other data
65 $select2_custom_attributes = array();
66 $select2_data = array();
67 $select2_data_keys = array( 'placeholder', 'allow_clear', 'action' );
68 foreach ( $data as $d_key => $d_value ) {
69 if ( in_array( $d_key, $select2_data_keys ) ) {
70 $select2_data[ $d_key ] = $d_value;
71 } else {
72 $select2_custom_attributes[ 'data-' . $d_key ] = $d_value;
73 }
74 }
75
76 $term_field = $data[ 'term_field' ];
77
78 // populate data-selected by value
79 $data_selected = array();
80 if ( !empty( $value ) ) {
81 if ( $multiple ) {
82 if ( 'id' === $term_field ) {
83 $value = is_array( $value ) ? array_map( 'absint', $value ) : explode( ',', $value );
84 } else {
85 $value = is_array( $value ) ? $value : explode( ',', $value );
86 }
87 foreach ( $value as $term_value ) {
88 $term = get_term_by( $term_field, $term_value, $data[ 'taxonomy' ] );
89 if ( is_object( $term ) ) {
90 $title = wp_kses_post( html_entity_decode( $term->name, ENT_QUOTES, get_bloginfo( 'charset' ) ) );
91 $title .= ( $show_id ? " (#{$term->term_id})" : '' );
92 $data_selected[ $term_value ] = $title;
93 } else {
94 $data_selected[ $term_value ] = '#' . $term_value;
95 }
96 }
97 } else {
98 $term_value = 'id' === $term_field ? absint( $value ) : $value;
99 $term = get_term_by( $term_field, $term_value, $data[ 'taxonomy' ] );
100 if ( is_object( $term ) ) {
101 $title = wp_kses_post( html_entity_decode( $term->name, ENT_QUOTES, get_bloginfo( 'charset' ) ) );
102 $title .= ( $show_id ? " (#{$term->term_id})" : '' );
103 $data_selected[ $term_value ] = $title;
104 } else {
105 $data_selected[ $term_value ] = '#' . $term_value;
106 }
107 }
108 }
109
110 // parse $value to string to prevent issue with wc2.6
111 $value = is_array( $value ) ? implode( ',', $value ) : $value;
112 ?>
113 <div class="yith-plugin-fw-select2-wrapper">
114 <?php
115 if ( function_exists( 'yit_add_select2_fields' ) ) {
116 yit_add_select2_fields( array(
117 'id' => $id,
118 'name' => $name,
119 'class' => $class,
120 'data-multiple' => $multiple,
121 'data-placeholder' => $select2_data[ 'placeholder' ],
122 'data-allow_clear' => $select2_data[ 'allow_clear' ],
123 'data-action' => $select2_data[ 'action' ],
124 'custom-attributes' => $select2_custom_attributes,
125 'style' => $style,
126 'value' => $value,
127 'data-selected' => $data_selected,
128 'data-term-field' => $term_field
129 ) );
130 }
131 ?>
132 </div>