Skip to content
This repository was archived by the owner on Sep 24, 2018. It is now read-only.

Commit b6e7108

Browse files
Conditionally require REST API classes
When these eventually get committed into core, we want the plugin to gracefully use the classes included in core
1 parent 2507893 commit b6e7108

File tree

1 file changed

+36
-12
lines changed

1 file changed

+36
-12
lines changed

plugin.php

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,62 +12,86 @@
1212
/**
1313
* WP_REST_Controller class.
1414
*/
15-
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-controller.php';
15+
if ( ! class_exists( 'WP_REST_Controller' ) ) {
16+
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-controller.php';
17+
}
1618

1719
/**
1820
* WP_REST_Posts_Controller class.
1921
*/
20-
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-posts-controller.php';
22+
if ( ! class_exists( 'WP_REST_Posts_Controller' ) ) {
23+
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-posts-controller.php';
24+
}
2125

2226
/**
2327
* WP_REST_Attachments_Controller class.
2428
*/
25-
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-attachments-controller.php';
29+
if ( ! class_exists( 'WP_REST_Attachments_Controller' ) ) {
30+
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-attachments-controller.php';
31+
}
2632

2733
/**
2834
* WP_REST_Post_Types_Controller class.
2935
*/
30-
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-post-types-controller.php';
36+
if ( ! class_exists( 'WP_REST_Post_Types_Controller' ) ) {
37+
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-post-types-controller.php';
38+
}
3139

3240
/**
3341
* WP_REST_Post_Statuses_Controller class.
3442
*/
35-
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-post-statuses-controller.php';
43+
if ( ! class_exists( 'WP_REST_Post_Statuses_Controller' ) ) {
44+
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-post-statuses-controller.php';
45+
}
3646

3747
/**
3848
* WP_REST_Revisions_Controller class.
3949
*/
40-
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-revisions-controller.php';
50+
if ( ! class_exists( 'WP_REST_Revisions_Controller' ) ) {
51+
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-revisions-controller.php';
52+
}
4153

4254
/**
4355
* WP_REST_Taxonomies_Controller class.
4456
*/
45-
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-taxonomies-controller.php';
57+
if ( ! class_exists( 'WP_REST_Taxonomies_Controller' ) ) {
58+
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-taxonomies-controller.php';
59+
}
4660

4761
/**
4862
* WP_REST_Terms_Controller class.
4963
*/
50-
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-terms-controller.php';
64+
if ( ! class_exists( 'WP_REST_Terms_Controller' ) ) {
65+
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-terms-controller.php';
66+
}
5167

5268
/**
5369
* WP_REST_Users_Controller class.
5470
*/
55-
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-users-controller.php';
71+
if ( ! class_exists( 'WP_REST_Users_Controller' ) ) {
72+
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-users-controller.php';
73+
}
5674

5775
/**
5876
* WP_REST_Comments_Controller class.
5977
*/
60-
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-comments-controller.php';
78+
if ( ! class_exists( 'WP_REST_Comments_Controller' ) ) {
79+
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-comments-controller.php';
80+
}
6181

6282
/**
6383
* WP_REST_Meta_Controller class.
6484
*/
65-
include_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-meta-controller.php';
85+
if ( ! class_exists( 'WP_REST_Meta_Controller' ) ) {
86+
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-meta-controller.php';
87+
}
6688

6789
/**
6890
* WP_REST_Meta_Posts_Controller class.
6991
*/
70-
include_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-meta-posts-controller.php';
92+
if ( ! class_exists( 'WP_REST_Meta_Posts_Controller' ) ) {
93+
require_once dirname( __FILE__ ) . '/lib/endpoints/class-wp-rest-meta-posts-controller.php';
94+
}
7195

7296
/**
7397
* WP_REST_Posts_Terms_Controller class.

0 commit comments

Comments
 (0)