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 / view-post.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
view-post.php
132 lines
1 <?php
2 /**
3 * ViewPost.
4 * php version 5.6
5 *
6 * @category ViewPost
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\Integrations\WordPress\WordPress;
18 use SureTriggers\Traits\SingletonLoader;
19 use WP_Post;
20
21 /**
22 * ViewPost
23 *
24 * @category ViewPost
25 * @package SureTriggers
26 * @author BSF <username@example.com>
27 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
28 * @link https://www.brainstormforce.com/
29 * @since 1.0.0
30 */
31 class ViewPost {
32
33
34 /**
35 * Integration type.
36 *
37 * @var string
38 */
39 public $integration = 'WordPress';
40
41 /**
42 * Trigger name.
43 *
44 * @var string
45 */
46 public $trigger = 'wp_view_post';
47
48 use SingletonLoader;
49
50
51 /**
52 * Constructor
53 *
54 * @since 1.0.0
55 */
56 public function __construct() {
57 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
58 }
59
60 /**
61 * Register action.
62 *
63 * @param array $triggers trigger data.
64 * @return array
65 */
66 public function register( $triggers ) {
67
68 $triggers[ $this->integration ][ $this->trigger ] = [
69 'label' => __( 'User views any post', 'suretriggers' ),
70 'action' => $this->trigger,
71 'common_action' => 'template_redirect',
72 'function' => [ $this, 'trigger_listener' ],
73 'priority' => 10,
74 'accepted_args' => 1,
75 ];
76
77 return $triggers;
78
79 }
80
81
82 /**
83 * Trigger listener.
84 *
85 * @return void
86 */
87 public function trigger_listener() {
88
89 if ( ! is_singular() ) {
90 return;
91 }
92
93 $post_id = get_queried_object_id();
94 $user_id = ap_get_current_user_id();
95 $context = WordPress::get_post_context( $post_id );
96 $context = array_merge( $context, WordPress::get_user_context( $user_id ) );
97 $context['post'] = $post_id;
98 $featured_image = wp_get_attachment_image_src( (int) get_post_thumbnail_id( $post_id ), 'full' );
99 if ( ! empty( $featured_image ) && is_array( $featured_image ) ) {
100 $context['featured_image'] = $featured_image[0];
101 }
102 $post = get_post( $post_id );
103 if ( $post instanceof WP_Post ) {
104 $taxonomies = get_object_taxonomies( $post, 'objects' );
105 if ( ! empty( $taxonomies ) && is_array( $taxonomies ) ) {
106 foreach ( $taxonomies as $taxonomy => $taxonomy_object ) {
107 $terms = get_the_terms( $post_id, $taxonomy );
108 if ( ! empty( $terms ) && is_array( $terms ) ) {
109 foreach ( $terms as $term ) {
110 $context[ $taxonomy ] = $term->name;
111 }
112 }
113 }
114 }
115 }
116 $custom_metas = get_post_meta( $post_id );
117 $context['custom_metas'] = $custom_metas;
118
119 AutomationController::sure_trigger_handle_trigger(
120 [
121 'trigger' => $this->trigger,
122 'context' => $context,
123 ]
124 );
125
126 }
127
128 }
129
130
131 ViewPost::get_instance();
132