PluginProbe
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI / 6.0.2
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI v6.0.2
6.0.2 6.0.1 6.0.0 5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0 5.7.9.2 5.7.9.1 5.7.8 5.7.9 5.7.6 5.7.7 5.7.5 5.7.4 5.7.3 5.7.2 5.7.1 trunk 5.6.0 5.6.1 5.6.2 All 33 releases
automatorwp / libraries / ct / includes / hooks.php

hooks.php in AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI 6.0.2, at libraries/ct/includes/hooks.php

80 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * CT Hooks
4 *
5 * @since 1.0.0
6 */
7 // Exit if accessed directly
8 defined( 'ABSPATH' ) || exit;
9
10 /**
11 * Registers CT REST API routes.
12 *
13 * @since 1.0.0
14 */
15 function ct_rest_api_init() {
16
17 global $ct_registered_tables;
18
19 foreach( $ct_registered_tables as $ct_table ) {
20
21 // Skip tables that are not setup to being shown in rest
22 if( ! $ct_table->show_in_rest ) {
23 continue;
24 }
25
26 $class = ! empty( $ct_table->rest_controller_class ) ? $ct_table->rest_controller_class : 'CT_REST_Controller';
27
28 // Skip if rest controller class doesn't exists
29 if ( ! class_exists( $class ) ) {
30 continue;
31 }
32
33 $controller = new $class( $ct_table->name );
34
35 // Check if controller is subclass of WP_REST_Controller to check if should call to the register_routes() function
36 if ( ! is_subclass_of( $controller, 'WP_REST_Controller' ) ) {
37 continue;
38 }
39
40 $controller->register_routes();
41
42 }
43
44 // Trigger CT rest API init hook
45 do_action( 'ct_rest_api_init' );
46 }
47 add_action( 'rest_api_init', 'ct_rest_api_init', 9 );
48
49 function ct_load_table_labels() {
50
51 global $ct_registered_tables;
52
53 foreach( $ct_registered_tables as $ct_table ) {
54
55 $args = array(
56 'singular' => ( property_exists( $ct_table, 'singular' ) ? $ct_table->singular : '' ),
57 'plural' => ( property_exists( $ct_table, 'plural' ) ? $ct_table->plural : '' ),
58 'labels' => ( property_exists( $ct_table, 'labels' ) ? (array) $ct_table->labels : '' ),
59 );
60
61 $args = apply_filters( "ct_{$ct_table->name}_labels", $args, $ct_table );
62
63 $ct_table->singular = $args['singular'];
64 $ct_table->plural = $args['plural'];
65
66 $labels = (array) ct_get_table_labels( $ct_table );
67
68 // Custom defined labels overrides default
69 if( isset( $args['labels'] ) && is_array( $args['labels'] ) ) {
70 $labels = wp_parse_args( $args['labels'], $labels );
71 }
72
73 $ct_table->labels = (object) $labels;
74
75 $ct_table->label = $ct_table->labels->name;
76
77 }
78
79 }
80 add_action( 'init', 'ct_load_table_labels', 10 );