PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.5.4
JetFormBuilder — Dynamic Blocks Form Builder v3.5.4
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 / insert-action.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 1 year ago
insert-action.php
86 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\Exceptions\Action_Exception;
7
8 // If this file is called directly, abort.
9 if ( ! defined( 'WPINC' ) ) {
10 die;
11 }
12
13 class Insert_Action extends Base_Term_Action {
14
15 public function get_id(): string {
16 return 'insert';
17 }
18
19 public static function is_supported( Abstract_Modifier $modifier ): bool {
20 return true;
21 }
22
23 /**
24 * @throws Action_Exception
25 */
26 public function do_action() {
27 if ( ! $this->pre_check() ) {
28 return;
29 }
30
31 $taxonomy = sanitize_text_field( $this->modifier->source_arr['taxonomy'] ?? '' );
32
33 if ( ! $this->user_can_manage_taxonomy_terms( $taxonomy ) ) {
34 throw new Action_Exception(
35 'failed',
36 esc_html( 'You are not allowed to manage this taxonomy' )
37 );
38 }
39
40 $parent_id = absint( $this->modifier->source_arr['parent'] ?? 0 );
41 $name = sanitize_text_field( $this->modifier->source_arr['name'] ?? '' );
42 $slug = sanitize_title( $this->modifier->source_arr['slug'] ?? '' );
43 $args = array();
44
45 if ( empty( $name ) ) {
46 throw new Action_Exception(
47 esc_html( 'Term name is required' )
48 );
49 }
50
51 if ( '' === $taxonomy ) {
52 throw new Action_Exception(
53 esc_html( 'Taxonomy are required' )
54 );
55 }
56
57 $args = array(
58 'name' => $name,
59 'slug' => $slug,
60 );
61
62 if ( is_taxonomy_hierarchical( $taxonomy ) && ! empty( $parent_id ) && 0 !== (int) $parent_id ) {
63 $parent_term = get_term( $parent_id, $taxonomy );
64
65 if ( $parent_term && ! is_wp_error( $parent_term ) ) {
66 $args['parent'] = $parent_id;
67 } else {
68 throw new Action_Exception(
69 esc_html( 'Invalid term parent ID ' . $parent_id )
70 );
71 }
72 }
73
74 $result = wp_insert_term( $name, $taxonomy, $args );
75
76 if ( is_wp_error( $result ) ) {
77 throw new Action_Exception(
78 'failed',
79 esc_html( $result->get_error_message() )
80 );
81 }
82
83 $this->inserted_id = $result['term_id'];
84 }
85 }
86