PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.35
OttoKit: All-in-One Automation Platform v1.1.35
1.1.36 1.1.35 1.1.34 1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Integrations / elementor-pro / triggers / elementor-post-published.php
suretriggers / src / Integrations / elementor-pro / triggers Last commit date
elementor-new-submit-form.php 3 years ago elementor-post-published.php 2 years ago elementor-submit-form-specific-value.php 2 years ago elementor-submit-form.php 1 year ago
elementor-post-published.php
120 lines
1 <?php
2 /**
3 * ElementorPostPublished.
4 * php version 5.6
5 *
6 * @category ElementorPostPublished
7 * @package SureTriggers
8 * @author BSF <username@example.com>
9 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
10 * @link https://www.brainstormforce.com/
11 * @since 1.0.0
12 */
13
14 namespace SureTriggers\Integrations\ElementorPro\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use WP_Post;
19
20 if ( ! class_exists( 'ElementorPostPublished' ) ) :
21
22 /**
23 * ElementorPostPublished
24 *
25 * @category ElementorPostPublished
26 * @package SureTriggers
27 * @author BSF <username@example.com>
28 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
29 * @link https://www.brainstormforce.com/
30 * @since 1.0.0
31 */
32 class ElementorPostPublished {
33
34 /**
35 * Integration type.
36 *
37 * @var string
38 */
39 public $integration = 'ElementorPro';
40
41 /**
42 * Trigger name.
43 *
44 * @var string
45 */
46 public $trigger = 'elementor_post_published';
47
48 use SingletonLoader;
49
50 /**
51 * Constructor
52 *
53 * @since 1.0.0
54 */
55 public function __construct() {
56 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
57 }
58
59 /**
60 * Register action.
61 *
62 * @param array $triggers trigger data.
63 * @return array
64 */
65 public function register( $triggers ) {
66 $triggers[ $this->integration ][ $this->trigger ] = [
67 'label' => __( 'Post Published with Elementor', 'suretriggers' ),
68 'action' => 'new_user_submits_elementor_form',
69 'common_action' => 'transition_post_status',
70 'function' => [ $this, 'trigger_listener' ],
71 'priority' => 10,
72 'accepted_args' => 3,
73 ];
74
75 return $triggers;
76 }
77
78 /**
79 * Trigger listener
80 *
81 * @param int $new_status checks new status.
82 * @param int $old_status checks old status.
83 * @param WP_Post $post post object.
84 * @since 1.0.0
85 *
86 * @return void
87 */
88 public function trigger_listener( $new_status, $old_status, $post ) {
89
90 // if post is not published with Elementor.
91 $created_by_elem = get_post_meta( $post->ID, '_elementor_edit_mode', true );
92 if ( empty( $created_by_elem ) ) {
93 return;
94 }
95
96 if ( $old_status === $new_status ) {
97 return;
98 }
99
100 if ( 'publish' === $new_status && ! wp_is_post_revision( $post->ID ) && ! wp_is_post_autosave( $post->ID ) ) {
101 $context = [
102 'post_id' => $post->ID,
103 'post' => $post,
104 'post_type' => $post->post_type,
105 ];
106
107 AutomationController::sure_trigger_handle_trigger(
108 [
109 'trigger' => $this->trigger,
110 'context' => $context,
111 ]
112 );
113 }
114 }
115 }
116
117 ElementorPostPublished::get_instance();
118
119 endif;
120