PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.36
OttoKit: All-in-One Automation Platform v1.1.36
1.1.37 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 / geo-directory / Actions / add-category-to-place.php
suretriggers / src / Integrations / geo-directory / Actions Last commit date
add-category-to-place.php 2 years ago add-place.php 11 months ago add-tag-to-place.php 2 years ago remove-category-from-place.php 2 years ago remove-tag-from-place.php 2 years ago
add-category-to-place.php
115 lines
1 <?php
2 /**
3 * AddCategoryToPlace.
4 * php version 5.6
5 *
6 * @category AddCategoryToPlace
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\GeoDirectory\Actions;
15
16 use SureTriggers\Integrations\AutomateAction;
17 use SureTriggers\Traits\SingletonLoader;
18 use SureTriggers\Integrations\GeoDirectory\GeoDirectory;
19 use Exception;
20
21 /**
22 * AddCategoryToPlace
23 *
24 * @category AddCategoryToPlace
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 AddCategoryToPlace extends AutomateAction {
32
33 /**
34 * Integration type.
35 *
36 * @var string
37 */
38 public $integration = 'GeoDirectory';
39
40 /**
41 * Action name.
42 *
43 * @var string
44 */
45 public $action = 'add_category_to_place';
46
47 use SingletonLoader;
48
49 /**
50 * Register a action.
51 *
52 * @param array $actions actions.
53 * @return array
54 */
55 public function register( $actions ) {
56 $actions[ $this->integration ][ $this->action ] = [
57 'label' => __( 'Add Category To Place', 'suretriggers' ),
58 'action' => $this->action,
59 'function' => [ $this, 'action_listener' ],
60 ];
61
62 return $actions;
63 }
64
65 /**
66 * Action listener.
67 *
68 * @param int $user_id user_id.
69 * @param int $automation_id automation_id.
70 * @param array $fields fields.
71 * @param array $selected_options selectedOptions.
72 *
73 * @return array
74 * @throws Exception Error.
75 */
76 public function _action_listener( $user_id, $automation_id, $fields, $selected_options ) {
77 $post_data = [];
78 $post_id = $selected_options['post'] ? $selected_options['post'] : 0;
79
80 $post_details = static::gd_update_post( $post_id, $selected_options, false );
81
82 $post_data = (array) get_post( $post_id );
83 return array_merge( $post_data, $post_details );
84 }
85
86 /**
87 * Update Place Table
88 *
89 * @param int $post_id post_id.
90 * @param array $gd_post post data.
91 * @param bool $update New or update.
92 *
93 * @return array
94 * @throws Exception Error.
95 */
96 public function gd_update_post( $post_id, $gd_post, $update ) {
97 global $wpdb;
98 $tags['categories'] = [];
99 $post_type = 'gd_place';
100 $taxonomy = $post_type . 'category';
101 $place_tag = explode( ',', $gd_post['place_categories'] );
102 $place_tag_ids = GeoDirectory::get_place_terms( $place_tag, $taxonomy );
103 wp_set_post_terms( $post_id, $place_tag_ids, $taxonomy, true );
104 $placetags = wp_get_post_terms( $post_id, $taxonomy, [ 'fields' => 'names' ] );
105
106 if ( ! empty( $placetags ) && ! is_wp_error( $placetags ) ) {
107 $tags['categories'] = $placetags;
108 }
109 return $tags;
110 }
111
112 }
113
114 AddCategoryToPlace::get_instance();
115