PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 3.3.3.1
JetFormBuilder — Dynamic Blocks Form Builder v3.3.3.1
3.6.5.2 3.6.5.1 3.6.5 3.6.4.2 3.6.4.1 3.6.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 All 130 releases
jetformbuilder / includes / actions / methods / post-modification / post-title-property.php
post-title-property.php
67 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4 namespace Jet_Form_Builder\Actions\Methods\Post_Modification;
5
6 use Jet_Form_Builder\Actions\Methods\Abstract_Modifier;
7 use Jet_Form_Builder\Actions\Methods\Base_Object_Property;
8
9 // If this file is called directly, abort.
10 if ( ! defined( 'WPINC' ) ) {
11 die;
12 }
13
14 class Post_Title_Property extends Base_Object_Property {
15
16 protected $is_empty = false;
17
18 public function get_id(): string {
19 return 'post_title';
20 }
21
22 public function get_label(): string {
23 return __( 'Post Title', 'jet-form-builder' );
24 }
25
26 public function get_value( Abstract_Modifier $modifier ) {
27 $action = $modifier->get_action();
28
29 if ( ! is_a( $action, Insert_Action::class ) ||
30 $this->value
31 ) {
32 return parent::get_value( $modifier );
33 }
34
35 $this->value = '(empty)';
36 $this->is_empty = true;
37
38 return parent::get_value( $modifier );
39 }
40
41 public function do_after( Abstract_Modifier $modifier ) {
42 if ( ! $this->is_empty ) {
43 return;
44 }
45
46 /** @var Base_Post_Action $action */
47 $action = $modifier->get_action();
48 $id = $action->get_inserted();
49
50 if ( ! $id ) {
51 return;
52 }
53
54 $post_type_obj = get_post_type_object( $modifier->source_arr['post_type'] );
55 $title = "{$post_type_obj->labels->singular_name} #{$id}";
56 $name = "{$post_type_obj->labels->singular_name}-{$id}";
57
58 wp_update_post(
59 array(
60 'ID' => $id,
61 'post_title' => $title,
62 'post_name' => $name,
63 )
64 );
65 }
66 }
67