PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.5.6.3
JetFormBuilder — Dynamic Blocks Form Builder v3.5.6.3
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 / actions-v2 / insert-term / properties / term-meta-property.php
jetformbuilder / modules / actions-v2 / insert-term / properties Last commit date
abstract-term-modifier.php 1 year ago base-term-action.php 1 year ago insert-action.php 1 year ago term-id-property.php 1 year ago term-meta-property.php 1 year ago term-modifier.php 1 year ago term-name-property.php 1 year ago term-parent-id-property.php 1 year ago term-slug-property.php 1 year ago term-taxonomy-property.php 1 year ago update-action.php 6 months ago
term-meta-property.php
87 lines
1 <?php
2
3 namespace JFB_Modules\Actions_V2\Insert_Term\Properties;
4
5 use Jet_Form_Builder\Actions\Methods\Abstract_Modifier;
6 use Jet_Form_Builder\Actions\Methods\Object_Dynamic_Property;
7 use Jet_Form_Builder\Classes\Tools;
8 use Jet_Form_Builder\Actions\Methods\Base_Object_Property;
9 use Jet_Form_Builder\Exceptions\Silence_Exception;
10
11 // If this file is called directly, abort.
12 if ( ! defined( 'WPINC' ) ) {
13 die;
14 }
15
16 class Term_Meta_Property extends Base_Object_Property implements Object_Dynamic_Property {
17
18 public function get_id(): string {
19 return 'term_meta';
20 }
21
22 public function get_label(): string {
23 return __( 'Term Meta', 'jet-form-builder' );
24 }
25
26 public function is_supported( string $key, $value ): bool {
27 return true;
28 }
29
30 /**
31 * @param Abstract_Modifier $modifier
32 */
33 public function do_before( string $key, $value, Abstract_Modifier $modifier ) {
34 if ( ! Tools::is_repeater_val( $value ) ) {
35 $this->set_meta(
36 array(
37 $key => $value,
38 )
39 );
40 return;
41 }
42
43 $this->set_meta(
44 array(
45 $key => Tools::prepare_repeater_value( $value, $modifier->fields_map ),
46 )
47 );
48 }
49
50 public function do_after( Abstract_Modifier $modifier ) {
51 /** @var Base_Term_Action $action */
52 $action = $modifier->get_action();
53 $id = $action->get_inserted();
54
55 if ( ! $id ) {
56 return;
57 }
58
59 foreach ( $this->value as $key => $value ) {
60 update_term_meta( $id, $key, $value );
61 }
62 }
63
64 public function set_meta( array $meta ) {
65 if ( ! is_array( $this->value ) ) {
66 $this->value = array();
67 }
68
69 $this->value = array_merge( $this->value, $meta );
70 }
71
72 public static function prepare_meta( array $meta ): array {
73 foreach ( $meta as $meta_key => $meta_row ) {
74 if ( ! empty( $meta_row['key'] ) ) {
75 $meta[ $meta_row['key'] ] = $meta_row['value'];
76 unset( $meta[ $meta_key ] );
77 }
78 }
79
80 return $meta;
81 }
82
83 public function get_value( Abstract_Modifier $modifier ) {
84 throw new Silence_Exception();
85 }
86 }
87