PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.4.7
JetFormBuilder — Dynamic Blocks Form Builder v3.4.7
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 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.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / modules / option-query / meta-query.php
jetformbuilder / modules / option-query Last commit date
interfaces 2 years ago traits 2 years ago legacy-generator-query.php 2 years ago manual-query.php 2 years ago meta-query.php 2 years ago module.php 2 years ago posts-query.php 2 years ago terms-query.php 2 years ago
meta-query.php
113 lines
1 <?php
2
3
4 namespace JFB_Modules\Option_Query;
5
6 use JFB_Modules\Option_Query\Interfaces\Option_Query_It;
7 use JFB_Modules\Option_Query\Traits\Option_Query_Trait;
8
9 // If this file is called directly, abort.
10 if ( ! defined( 'WPINC' ) ) {
11 die;
12 }
13
14 class Meta_Query implements Option_Query_It {
15
16 use Option_Query_Trait;
17
18 public function rep_item_id() {
19 return 'meta_field';
20 }
21
22 public function fetch(): \Generator {
23
24 $key = $this->get_query( 'meta_key' );
25
26 if ( ! $key ) {
27 return;
28 }
29
30 $options = get_post_meta( jet_fb_live()->post->ID, $key, true );
31
32 if ( empty( $options ) ) {
33 return;
34 }
35
36 if ( ! is_array( $options ) ) {
37 $options = array( $options );
38 }
39
40 if ( in_array( 'true', $options, true ) || in_array( 'false', $options, true ) ) {
41 yield from $this->get_checked_options( $options );
42
43 return;
44 }
45
46 $option_values = array_values( $options );
47
48 if ( ! is_array( $option_values[0] ) ) {
49
50 foreach ( $options as $key => $value ) {
51 if ( $this->has_query( 'search' ) &&
52 false === strpos( (string) $value, $this->get_query( 'search' ) )
53 ) {
54 continue;
55 }
56
57 yield array(
58 'value' => is_string( $key ) ? $key : $value,
59 'label' => $value,
60 );
61 }
62
63 return;
64 }
65
66 foreach ( $options as $option ) {
67
68 $values = array_values( $option );
69
70 if (
71 ! isset( $values[0] ) ||
72 (
73 $this->has_query( 'search' ) &&
74 false === strpos( (string) ( $values[1] ?? $values[0] ), $this->get_query( 'search' ) )
75 )
76 ) {
77 continue;
78 }
79
80 yield array(
81 'value' => $values[0],
82 'label' => $values[1] ?? $values[0],
83 );
84
85 }
86 }
87
88 /**
89 * @param $options
90 *
91 * @return \Generator
92 */
93 protected function get_checked_options( $options ): \Generator {
94 foreach ( $options as $label => $checked ) {
95 $checked = filter_var( $checked, defined( 'FILTER_VALIDATE_BOOL' ) ? FILTER_VALIDATE_BOOL : FILTER_VALIDATE_BOOLEAN );
96
97 if ( $this->has_query( 'search' ) &&
98 false === strpos( (string) $label, $this->get_query( 'search' ) )
99 ) {
100 continue;
101 }
102
103 if ( $checked ) {
104 yield array(
105 'value' => $label,
106 'label' => $label,
107 );
108 }
109 }
110 }
111
112 }
113