PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
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 / wordpress / triggers / post-trashed.php
suretriggers / src / Integrations / wordpress / triggers Last commit date
add-user-role.php 1 year ago change-specific-role-to-specific.php 3 years ago create-post.php 6 months ago insert-comment.php 2 years ago post-of-type-set-to-status.php 1 year ago post-trashed.php 1 year ago post-updated-only.php 3 months ago remove-user-role.php 3 years ago update-post.php 1 year ago update-specific-post.php 1 year ago update-user-role.php 3 years ago user-comment-approved.php 2 years ago user-create.php 3 years ago user-login.php 1 year ago user-meta-key-updated.php 9 months ago user-password-reset.php 1 year ago user-profile-field-updated.php 3 years ago view-post.php 1 year ago
post-trashed.php
141 lines
1 <?php
2 /**
3 * PostTrashed.
4 * php version 5.6
5 *
6 * @category PostTrashed
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\Wordpress\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use WP_Post;
19
20 if ( ! class_exists( 'PostTrashed' ) ) :
21
22
23 /**
24 * PostTrashed
25 *
26 * @category PostTrashed
27 * @package SureTriggers
28 * @author BSF <username@example.com>
29 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
30 * @link https://www.brainstormforce.com/
31 * @since 1.0.0
32 */
33 class PostTrashed {
34
35
36 /**
37 * Integration type.
38 *
39 * @var string
40 */
41 public $integration = 'WordPress';
42
43 /**
44 * Trigger name.
45 *
46 * @var string
47 */
48 public $trigger = 'trashed_post';
49
50 use SingletonLoader;
51
52
53 /**
54 * Constructor
55 *
56 * @since 1.0.0
57 */
58 public function __construct() {
59 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
60 }
61
62 /**
63 * Register action.
64 *
65 * @param array $triggers trigger data.
66 *
67 * @return array
68 */
69 public function register( $triggers ) {
70
71 $triggers[ $this->integration ][ $this->trigger ] = [
72 'label' => __( 'Post/Page/CPT is moved to Trash', 'suretriggers' ),
73 'action' => $this->trigger,
74 'function' => [ $this, 'trigger_listener' ],
75 'priority' => 10,
76 'accepted_args' => 1,
77 ];
78
79 return $triggers;
80
81 }
82
83
84 /**
85 * Trigger listener
86 *
87 * @param int $post_id trashed post id.
88 *
89 * @return void
90 */
91 public function trigger_listener( $post_id ) {
92
93 $context = (array) get_post( $post_id );
94 if ( isset( $context['post_author'] ) ) {
95 $user = get_userdata( (int) $context['post_author'] );
96 if ( $user instanceof \WP_User ) {
97 $context['post_author'] = ( property_exists( $user, 'user_nicename' ) ) ? $user->user_nicename : $user->user_email;
98 }
99 }
100 $context['post'] = $post_id;
101 $featured_image = wp_get_attachment_image_src( (int) get_post_thumbnail_id( $post_id ), 'full' );
102 if ( ! empty( $featured_image ) && is_array( $featured_image ) ) {
103 $context['featured_image'] = $featured_image[0];
104 }
105 $post = get_post( $post_id );
106 if ( $post instanceof WP_Post ) {
107 $taxonomies = get_object_taxonomies( $post, 'objects' );
108 if ( ! empty( $taxonomies ) && is_array( $taxonomies ) ) {
109 foreach ( $taxonomies as $taxonomy => $taxonomy_object ) {
110 $terms = get_the_terms( $post_id, $taxonomy );
111 if ( ! empty( $terms ) && is_array( $terms ) ) {
112 foreach ( $terms as $term ) {
113 $context[ $taxonomy ] = $term->name;
114 }
115 }
116 }
117 }
118 }
119 $custom_metas = get_post_meta( $post_id );
120 $context['custom_metas'] = $custom_metas;
121 AutomationController::sure_trigger_handle_trigger(
122 [
123 'trigger' => $this->trigger,
124 'context' => $context,
125 ]
126 );
127
128 }
129
130
131 }
132
133
134 PostTrashed::get_instance();
135
136 endif;
137
138
139
140
141