diff options
Diffstat (limited to 'plugins/jetpack/_inc/lib/core-api/load-wpcom-endpoints.php')
-rw-r--r-- | plugins/jetpack/_inc/lib/core-api/load-wpcom-endpoints.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/plugins/jetpack/_inc/lib/core-api/load-wpcom-endpoints.php b/plugins/jetpack/_inc/lib/core-api/load-wpcom-endpoints.php new file mode 100644 index 00000000..2b26f78c --- /dev/null +++ b/plugins/jetpack/_inc/lib/core-api/load-wpcom-endpoints.php @@ -0,0 +1,40 @@ +<?php + +/* + * Loader for WP REST API endpoints that are synced with WP.com. + * + * On WP.com see: + * - wp-content/mu-plugins/rest-api.php + * - wp-content/rest-api-plugins/jetpack-endpoints/ + */ + +function wpcom_rest_api_v2_load_plugin_files( $file_pattern ) { + $plugins = glob( dirname( __FILE__ ) . '/' . $file_pattern ); + + if ( ! is_array( $plugins ) ) { + return; + } + + foreach ( array_filter( $plugins, 'is_file' ) as $plugin ) { + require_once $plugin; + } +} + +// API v2 plugins: define a class, then call this function. +function wpcom_rest_api_v2_load_plugin( $class_name ) { + global $wpcom_rest_api_v2_plugins; + + if ( ! isset( $wpcom_rest_api_v2_plugins ) ) { + $_GLOBALS['wpcom_rest_api_v2_plugins'] = $wpcom_rest_api_v2_plugins = array(); + } + + if ( ! isset( $wpcom_rest_api_v2_plugins[ $class_name ] ) ) { + $wpcom_rest_api_v2_plugins[ $class_name ] = new $class_name; + } +} + +require dirname( __FILE__ ) . '/class-wpcom-rest-field-controller.php'; + +// Now load the endpoint files. +wpcom_rest_api_v2_load_plugin_files( 'wpcom-endpoints/*.php' ); +wpcom_rest_api_v2_load_plugin_files( 'wpcom-fields/*.php' ); |