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 / actions / set-post-meta.php
suretriggers / src / Integrations / wordpress / actions Last commit date
add-new-media.php 9 months ago add-new-role.php 9 months ago add-tag-to-post.php 9 months ago add-taxonomy-to-post.php 9 months ago change-role.php 9 months ago create-category.php 9 months ago create-comment.php 9 months ago create-post.php 8 months ago create-role.php 9 months ago create-tag.php 9 months ago create-user-if-not-exists.php 1 year ago delete-user.php 9 months ago find-posts.php 3 months ago find-user-by-email.php 2 years ago find-user-by-id.php 2 years ago find-user-meta-by-key.php 2 years ago find-user-metas.php 2 years ago get-post-by-id.php 9 months ago get-post-metadata.php 9 months ago get-post-taxonomy.php 9 months ago get-post-terms.php 9 months ago get-taxonomy-by-name.php 9 months ago get-user-by-role.php 9 months ago remove-role.php 9 months ago remove-user-meta.php 9 months ago remove-user.php 9 months ago send-mail.php 3 months ago set-post-meta.php 9 months ago set-user-meta.php 9 months ago update-comment-status.php 9 months ago update-post-excerpt.php 9 months ago update-post.php 9 months ago update-user.php 3 months ago
set-post-meta.php
131 lines
1 <?php
2 /**
3 * SetPostMeta.
4 * php version 5.6
5 *
6 * @category SetPostMeta
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\Actions;
15
16 use SureTriggers\Integrations\AutomateAction;
17 use SureTriggers\Traits\SingletonLoader;
18 use Exception;
19
20 /**
21 * SetPostMeta
22 *
23 * @category SetPostMeta
24 * @package SureTriggers
25 * @author BSF <username@example.com>
26 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
27 * @link https://www.brainstormforce.com/
28 * @since 1.0.0
29 */
30 class SetPostMeta extends AutomateAction {
31
32 /**
33 * Integration type.
34 *
35 * @var string
36 */
37 public $integration = 'WordPress';
38
39 /**
40 * Action name.
41 *
42 * @var string
43 */
44 public $action = 'set_post_meta';
45
46 use SingletonLoader;
47
48 /**
49 * Register action.
50 *
51 * @param array $actions action data.
52 * @return array
53 */
54 public function register( $actions ) {
55 $actions[ $this->integration ][ $this->action ] = [
56 'label' => __( 'Post: Set Post meta', 'suretriggers' ),
57 'action' => $this->action,
58 'function' => [ $this, 'action_listener' ],
59 ];
60
61 return $actions;
62 }
63
64 /**
65 * Action listener.
66 *
67 * @param int $user_id user_id.
68 * @param int $automation_id automation_id.
69 * @param array $fields fields.
70 * @param array $selected_options selected_options.
71 * @return array|bool
72 * @throws Exception Exception.
73 */
74 public function _action_listener( $user_id, $automation_id, $fields, $selected_options ) {
75 if ( empty( $selected_options['post_meta_operations'] ) ) {
76 return [
77 'status' => 'error',
78 'message' => __( 'No post meta operation found!', 'suretriggers' ),
79
80 ];
81 }
82
83 $dynamic_response = [];
84
85 foreach ( $selected_options['post_meta_operations'] as $meta ) {
86 $opr = $meta['operation'];
87 if ( is_array( $meta['post'] ) ) {
88 $post = $meta['post']['value'];
89 } else {
90 $post = $meta['post'];
91 }
92 $post_id = $post;
93 $meta_key = $meta['meta_key'];
94 $meta_value = $meta['meta_value'];
95
96 $value = get_post_meta( $post_id, $meta_key, true );
97
98 switch ( $opr ) {
99 case 'set':
100 $value = $meta_value;
101 break;
102 case 'insert':
103 if ( is_array( $value ) ) {
104 $value[] = $meta_value;
105 } else {
106 $value .= $meta_value;
107 }
108 break;
109 case 'increment':
110 $value += $meta_value;
111 break;
112 case 'decrement':
113 $value -= $meta_value;
114 break;
115 }
116
117 update_post_meta( $post_id, $meta_key, $value );
118
119 $dynamic_response[] = [
120 'set_post_id' => $post_id,
121 'set_post_meta_key' => $meta_key,
122 'set_post_meta_value' => $value,
123 ];
124 }
125
126 return $dynamic_response;
127 }
128 }
129
130 SetPostMeta::get_instance();
131