PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 4.4.1
Admin Columns v4.4.1
7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Helper / Select / MetaValuesFactory.php
codepress-admin-columns / classes / Helper / Select Last commit date
Entities 4 years ago Formatter 4 years ago Group 4 years ago Options 4 years ago Value 4 years ago Entities.php 4 years ago Formatter.php 4 years ago Group.php 4 years ago MetaValuesFactory.php 4 years ago Option.php 4 years ago OptionGroup.php 4 years ago Options.php 4 years ago Paginated.php 4 years ago Response.php 4 years ago Value.php 4 years ago
MetaValuesFactory.php
72 lines
1 <?php
2
3 namespace AC\Helper\Select;
4
5 use AC\MetaType;
6
7 class MetaValuesFactory {
8
9 /**
10 * @param string $meta_type
11 * @param string $meta_key
12 * @param string $post_type
13 *
14 * @return array
15 */
16 public static function create( $meta_type, $meta_key, $post_type = null ) {
17 global $wpdb;
18
19 switch ( $meta_type ) {
20 case MetaType::POST :
21 $sql = $wpdb->prepare( "
22 SELECT DISTINCT pm.meta_value
23 FROM {$wpdb->postmeta} AS pm
24 LEFT JOIN {$wpdb->posts} AS ps ON ps.ID = pm.post_id
25 WHERE pm.meta_key = %s
26 AND pm.meta_value != ''
27 AND ps.post_status != 'trash'
28 ", $meta_key );
29
30 if ( $post_type ) {
31 $sql .= $wpdb->prepare( " AND ps.post_type = %s", $post_type );
32 }
33
34 return $wpdb->get_col( $sql );
35
36 case MetaType::USER :
37 return $wpdb->get_col( $wpdb->prepare( "
38 SELECT DISTINCT um.meta_value
39 FROM {$wpdb->usermeta} AS um
40 LEFT JOIN {$wpdb->users} AS us ON us.ID = um.user_id
41 WHERE um.meta_key = %s
42 AND um.meta_value != ''
43 ;
44 ", $meta_key ) );
45
46 case MetaType::COMMENT :
47 return $wpdb->get_col( $wpdb->prepare( "
48 SELECT DISTINCT cm.meta_value
49 FROM {$wpdb->commentmeta} AS cm
50 LEFT JOIN {$wpdb->comments} AS cs ON cs.comment_ID = cm.comment_id
51 WHERE cm.meta_key = %s
52 AND cm.meta_value != ''
53 ;
54 ", $meta_key ) );
55
56 case MetaType::TERM :
57 return $wpdb->get_col( $wpdb->prepare( "
58 SELECT DISTINCT tm.meta_value
59 FROM {$wpdb->termmeta} AS tm
60 LEFT JOIN {$wpdb->terms} AS ts ON ts.term_id = tm.term_id
61 WHERE tm.meta_key = %s
62 AND tm.meta_value != ''
63 ;
64 ", $meta_key ) );
65
66 default :
67 return [];
68
69 }
70 }
71
72 }