Completed
Pull Request — master (#44)
by
unknown
01:25
created
includes/wp-api-menus-v2.php 1 patch
Spacing   +94 added lines, -94 removed lines patch added patch discarded remove patch
@@ -5,11 +5,11 @@  discard block
 block discarded – undo
5 5
  * @package WP_API_Menus
6 6
  */
7 7
 
8
-if ( ! defined( 'ABSPATH' ) ) {
8
+if ( ! defined('ABSPATH')) {
9 9
     exit; // Exit if accessed directly
10 10
 }
11 11
 
12
-if ( ! class_exists( 'WP_REST_Menus' ) ) :
12
+if ( ! class_exists('WP_REST_Menus')) :
13 13
 
14 14
 
15 15
     /**
@@ -52,38 +52,38 @@  discard block
 block discarded – undo
52 52
          */
53 53
         public function register_routes() {
54 54
 
55
-            register_rest_route( self::get_plugin_namespace(), '/menus', array(
55
+            register_rest_route(self::get_plugin_namespace(), '/menus', array(
56 56
                 array(
57 57
                     'methods'  => WP_REST_Server::READABLE,
58
-                    'callback' => array( $this, 'get_menus' ),
58
+                    'callback' => array($this, 'get_menus'),
59 59
                 )
60
-            ) );
60
+            ));
61 61
 
62
-            register_rest_route( self::get_plugin_namespace(), '/menus/(?P<id>\d+)', array(
62
+            register_rest_route(self::get_plugin_namespace(), '/menus/(?P<id>\d+)', array(
63 63
                 array(
64 64
                     'methods'  => WP_REST_Server::READABLE,
65
-                    'callback' => array( $this, 'get_menu' ),
65
+                    'callback' => array($this, 'get_menu'),
66 66
                     'args'     => array(
67 67
                         'context' => array(
68 68
                         'default' => 'view',
69 69
                         ),
70 70
                     ),
71 71
                 )
72
-            ) );
72
+            ));
73 73
 
74
-            register_rest_route( self::get_plugin_namespace(), '/menu-locations', array(
74
+            register_rest_route(self::get_plugin_namespace(), '/menu-locations', array(
75 75
                 array(
76 76
                     'methods'  => WP_REST_Server::READABLE,
77
-                    'callback' => array( $this, 'get_menu_locations' ),
77
+                    'callback' => array($this, 'get_menu_locations'),
78 78
                 )
79
-            ) );
79
+            ));
80 80
 
81
-            register_rest_route( self::get_plugin_namespace(), '/menu-locations/(?P<location>[a-zA-Z0-9_-]+)', array(
81
+            register_rest_route(self::get_plugin_namespace(), '/menu-locations/(?P<location>[a-zA-Z0-9_-]+)', array(
82 82
                 array(
83 83
                     'methods'  => WP_REST_Server::READABLE,
84
-                    'callback' => array( $this, 'get_menu_location' ),
84
+                    'callback' => array($this, 'get_menu_location'),
85 85
                 )
86
-            ) );
86
+            ));
87 87
         }
88 88
 
89 89
 
@@ -95,29 +95,29 @@  discard block
 block discarded – undo
95 95
          */
96 96
         public static function get_menus() {
97 97
 
98
-            $rest_url = trailingslashit( get_rest_url() . self::get_plugin_namespace() . '/menus/' );
98
+            $rest_url = trailingslashit(get_rest_url().self::get_plugin_namespace().'/menus/');
99 99
             $wp_menus = wp_get_nav_menus();
100 100
 
101 101
             $i = 0;
102 102
             $rest_menus = array();
103
-            foreach ( $wp_menus as $wp_menu ) :
103
+            foreach ($wp_menus as $wp_menu) :
104 104
 
105 105
                 $menu = (array) $wp_menu;
106 106
 
107
-                $rest_menus[ $i ]                = $menu;
108
-                $rest_menus[ $i ]['ID']          = $menu['term_id'];
109
-                $rest_menus[ $i ]['name']        = $menu['name'];
110
-                $rest_menus[ $i ]['slug']        = $menu['slug'];
111
-                $rest_menus[ $i ]['description'] = $menu['description'];
112
-                $rest_menus[ $i ]['count']       = $menu['count'];
107
+                $rest_menus[$i]                = $menu;
108
+                $rest_menus[$i]['ID']          = $menu['term_id'];
109
+                $rest_menus[$i]['name']        = $menu['name'];
110
+                $rest_menus[$i]['slug']        = $menu['slug'];
111
+                $rest_menus[$i]['description'] = $menu['description'];
112
+                $rest_menus[$i]['count']       = $menu['count'];
113 113
 
114
-                $rest_menus[ $i ]['meta']['links']['collection'] = $rest_url;
115
-                $rest_menus[ $i ]['meta']['links']['self']       = $rest_url . $menu['term_id'];
114
+                $rest_menus[$i]['meta']['links']['collection'] = $rest_url;
115
+                $rest_menus[$i]['meta']['links']['self']       = $rest_url.$menu['term_id'];
116 116
 
117
-                $i ++;
117
+                $i++;
118 118
             endforeach;
119 119
 
120
-            return apply_filters( 'rest_menus_format_menus', $rest_menus );
120
+            return apply_filters('rest_menus_format_menus', $rest_menus);
121 121
         }
122 122
 
123 123
 
@@ -128,38 +128,38 @@  discard block
 block discarded – undo
128 128
          * @param  $request
129 129
          * @return array Menu data
130 130
          */
131
-        public function get_menu( $request ) {
131
+        public function get_menu($request) {
132 132
 
133 133
             $id             = (int) $request['id'];
134
-            $rest_url       = get_rest_url() . self::get_api_namespace() . '/menus/';
135
-            $wp_menu_object = $id ? wp_get_nav_menu_object( $id ) : array();
136
-            $wp_menu_items  = $id ? wp_get_nav_menu_items( $id ) : array();
134
+            $rest_url       = get_rest_url().self::get_api_namespace().'/menus/';
135
+            $wp_menu_object = $id ? wp_get_nav_menu_object($id) : array();
136
+            $wp_menu_items  = $id ? wp_get_nav_menu_items($id) : array();
137 137
 
138 138
             $rest_menu = array();
139 139
 
140
-            if ( $wp_menu_object ) :
140
+            if ($wp_menu_object) :
141 141
 
142 142
                 $menu = (array) $wp_menu_object;
143
-                $rest_menu['ID']          = abs( $menu['term_id'] );
143
+                $rest_menu['ID']          = abs($menu['term_id']);
144 144
                 $rest_menu['name']        = $menu['name'];
145 145
                 $rest_menu['slug']        = $menu['slug'];
146 146
                 $rest_menu['description'] = $menu['description'];
147
-                $rest_menu['count']       = abs( $menu['count'] );
147
+                $rest_menu['count']       = abs($menu['count']);
148 148
 
149 149
                 $rest_menu_items = array();
150
-                foreach ( $wp_menu_items as $item_object ) {
151
-	                $rest_menu_items[] = $this->format_menu_item( $item_object );
150
+                foreach ($wp_menu_items as $item_object) {
151
+	                $rest_menu_items[] = $this->format_menu_item($item_object);
152 152
                 }
153 153
 
154 154
                 $rest_menu_items = $this->nested_menu_items($rest_menu_items, 0);
155 155
 
156 156
                 $rest_menu['items']                       = $rest_menu_items;
157 157
                 $rest_menu['meta']['links']['collection'] = $rest_url;
158
-                $rest_menu['meta']['links']['self']       = $rest_url . $id;
158
+                $rest_menu['meta']['links']['self']       = $rest_url.$id;
159 159
 
160 160
             endif;
161 161
 
162
-            return apply_filters( 'rest_menus_format_menu', $rest_menu );
162
+            return apply_filters('rest_menus_format_menu', $rest_menu);
163 163
         }
164 164
 
165 165
 
@@ -174,24 +174,24 @@  discard block
 block discarded – undo
174 174
          * @param  $parent
175 175
          * @return array
176 176
          */
177
-        private function nested_menu_items( &$menu_items, $parent = null ) {
177
+        private function nested_menu_items(&$menu_items, $parent = null) {
178 178
 
179 179
             $parents = array();
180 180
             $children = array();
181 181
 
182 182
             // Separate menu_items into parents & children.
183
-            array_map( function( $i ) use ( $parent, &$children, &$parents ){
184
-                if ( $i['id'] != $parent && $i['parent'] == $parent ) {
183
+            array_map(function($i) use ($parent, &$children, &$parents){
184
+                if ($i['id'] != $parent && $i['parent'] == $parent) {
185 185
                     $parents[] = $i;
186 186
                 } else {
187 187
                     $children[] = $i;
188 188
                 }
189
-            }, $menu_items );
189
+            }, $menu_items);
190 190
 
191
-            foreach ( $parents as &$parent ) {
191
+            foreach ($parents as &$parent) {
192 192
 
193
-                if ( $this->has_children( $children, $parent['id'] ) ) {
194
-                    $parent['children'] = $this->nested_menu_items( $children, $parent['id'] );
193
+                if ($this->has_children($children, $parent['id'])) {
194
+                    $parent['children'] = $this->nested_menu_items($children, $parent['id']);
195 195
                 }
196 196
             }
197 197
 
@@ -207,8 +207,8 @@  discard block
 block discarded – undo
207 207
          * @param  int $id
208 208
          * @return array
209 209
          */
210
-        private function has_children( $items, $id ) {
211
-            return array_filter( $items, function( $i ) use ( $id ) {
210
+        private function has_children($items, $id) {
211
+            return array_filter($items, function($i) use ($id) {
212 212
                 return $i['parent'] == $id;
213 213
             } );
214 214
         }
@@ -221,26 +221,26 @@  discard block
 block discarded – undo
221 221
          * @param  $request
222 222
          * @return array All registered menus locations
223 223
          */
224
-        public static function get_menu_locations( $request ) {
224
+        public static function get_menu_locations($request) {
225 225
 
226 226
             $locations        = get_nav_menu_locations();
227 227
             $registered_menus = get_registered_nav_menus();
228
-	        $rest_url         = get_rest_url() . self::get_api_namespace() . '/menu-locations/';
228
+	        $rest_url = get_rest_url().self::get_api_namespace().'/menu-locations/';
229 229
             $rest_menus       = array();
230 230
 
231
-            if ( $locations && $registered_menus ) :
231
+            if ($locations && $registered_menus) :
232 232
 
233
-                foreach ( $registered_menus as $slug => $label ) :
233
+                foreach ($registered_menus as $slug => $label) :
234 234
 
235 235
 	                // Sanity check
236
-	                if ( ! isset( $locations[ $slug ] ) ) {
236
+	                if ( ! isset($locations[$slug])) {
237 237
 		                continue;
238 238
 	                }
239 239
 
240
-	                $rest_menus[ $slug ]['ID']                          = $locations[ $slug ];
241
-                    $rest_menus[ $slug ]['label']                       = $label;
242
-                    $rest_menus[ $slug ]['meta']['links']['collection'] = $rest_url;
243
-                    $rest_menus[ $slug ]['meta']['links']['self']       = $rest_url . $slug;
240
+	                $rest_menus[$slug]['ID'] = $locations[$slug];
241
+                    $rest_menus[$slug]['label']                       = $label;
242
+                    $rest_menus[$slug]['meta']['links']['collection'] = $rest_url;
243
+                    $rest_menus[$slug]['meta']['links']['self']       = $rest_url.$slug;
244 244
 
245 245
                 endforeach;
246 246
 
@@ -257,70 +257,70 @@  discard block
 block discarded – undo
257 257
          * @param  $request
258 258
          * @return array The menu for the corresponding location
259 259
          */
260
-        public function get_menu_location( $request ) {
260
+        public function get_menu_location($request) {
261 261
 
262 262
             $params     = $request->get_params();
263 263
             $location   = $params['location'];
264 264
             $locations  = get_nav_menu_locations();
265 265
 
266
-            if ( ! isset( $locations[ $location ] ) ) {
266
+            if ( ! isset($locations[$location])) {
267 267
 	            return array();
268 268
             }
269 269
 
270
-            $wp_menu = wp_get_nav_menu_object( $locations[ $location ] );
271
-            $menu_items = wp_get_nav_menu_items( $wp_menu->term_id );
270
+            $wp_menu = wp_get_nav_menu_object($locations[$location]);
271
+            $menu_items = wp_get_nav_menu_items($wp_menu->term_id);
272 272
 
273 273
 			/**
274 274
 			 * wp_get_nav_menu_items() outputs a list that's already sequenced correctly.
275 275
 			 * So the easiest thing to do is to reverse the list and then build our tree
276 276
 			 * from the ground up
277 277
 			 */
278
-			$rev_items = array_reverse ( $menu_items );
278
+			$rev_items = array_reverse($menu_items);
279 279
 			$rev_menu  = array();
280 280
 			$cache     = array();
281 281
 
282
-			foreach ( $rev_items as $item ) :
282
+			foreach ($rev_items as $item) :
283 283
 
284 284
 				$formatted = array(
285
-					'ID'          => abs( $item->ID ),
285
+					'ID'          => abs($item->ID),
286 286
 					'order'       => (int) $item->menu_order,
287
-					'parent'      => abs( $item->menu_item_parent ),
287
+					'parent'      => abs($item->menu_item_parent),
288 288
 					'title'       => $item->title,
289 289
 					'url'         => $item->url,
290 290
 					'attr'        => $item->attr_title,
291 291
 					'target'      => $item->target,
292
-					'classes'     => implode( ' ', $item->classes ),
292
+					'classes'     => implode(' ', $item->classes),
293 293
 					'xfn'         => $item->xfn,
294 294
 					'description' => $item->description,
295
-					'object_id'   => abs( $item->object_id ),
295
+					'object_id'   => abs($item->object_id),
296 296
 					'object'      => $item->object,
297 297
 					'type'        => $item->type,
298 298
 					'type_label'  => $item->type_label,
299 299
 					'children'    => array(),
300 300
 				);
301 301
 
302
-				if ( array_key_exists( $item->ID , $cache ) ) {
303
-					$formatted['children'] = array_reverse( $cache[ $item->ID ] );
302
+				if (array_key_exists($item->ID, $cache)) {
303
+					$formatted['children'] = array_reverse($cache[$item->ID]);
304 304
 				}
305 305
 
306
-            	$formatted = apply_filters( 'rest_menus_format_menu_item', $formatted );
306
+            	$formatted = apply_filters('rest_menus_format_menu_item', $formatted);
307 307
 
308
-				if ( $item->menu_item_parent != 0 ) {
308
+				if ($item->menu_item_parent != 0) {
309 309
 
310
-					if ( array_key_exists( $item->menu_item_parent , $cache ) ) {
311
-						array_push( $cache[ $item->menu_item_parent ], $formatted );
310
+					if (array_key_exists($item->menu_item_parent, $cache)) {
311
+						array_push($cache[$item->menu_item_parent], $formatted);
312 312
 					} else {
313
-						$cache[ $item->menu_item_parent ] = array( $formatted, );
313
+						$cache[$item->menu_item_parent] = array($formatted,);
314 314
 					}
315 315
 
316 316
 				} else {
317 317
 
318
-					array_push( $rev_menu, $formatted );
318
+					array_push($rev_menu, $formatted);
319 319
 				}
320 320
 
321 321
 			endforeach;
322 322
 
323
-			return array_reverse ( $rev_menu );
323
+			return array_reverse($rev_menu);
324 324
         }
325 325
 
326 326
 
@@ -333,19 +333,19 @@  discard block
 block discarded – undo
333 333
          * @param bool  $depth          Gives all children or direct children only
334 334
          * @return array	returns filtered array of nav_menu_items
335 335
          */
336
-        public function get_nav_menu_item_children( $parent_id, $nav_menu_items, $depth = true ) {
336
+        public function get_nav_menu_item_children($parent_id, $nav_menu_items, $depth = true) {
337 337
 
338 338
             $nav_menu_item_list = array();
339 339
 
340
-            foreach ( (array) $nav_menu_items as $nav_menu_item ) :
340
+            foreach ((array) $nav_menu_items as $nav_menu_item) :
341 341
 
342
-                if ( $nav_menu_item->menu_item_parent == $parent_id ) :
342
+                if ($nav_menu_item->menu_item_parent == $parent_id) :
343 343
 
344
-                    $nav_menu_item_list[] = $this->format_menu_item( $nav_menu_item, true, $nav_menu_items );
344
+                    $nav_menu_item_list[] = $this->format_menu_item($nav_menu_item, true, $nav_menu_items);
345 345
 
346
-                    if ( $depth ) {
347
-                        if ( $children = $this->get_nav_menu_item_children( $nav_menu_item->ID, $nav_menu_items ) ) {
348
-                            $nav_menu_item_list = array_merge( $nav_menu_item_list, $children );
346
+                    if ($depth) {
347
+                        if ($children = $this->get_nav_menu_item_children($nav_menu_item->ID, $nav_menu_items)) {
348
+                            $nav_menu_item_list = array_merge($nav_menu_item_list, $children);
349 349
                         }
350 350
                     }
351 351
 
@@ -366,43 +366,43 @@  discard block
 block discarded – undo
366 366
          * @param  array        $menu       The menu the item belongs to (used when $children is set to true)
367 367
          * @return array	a formatted menu item for REST
368 368
          */
369
-        public function format_menu_item( $menu_item, $children = false, $menu = array() ) {
369
+        public function format_menu_item($menu_item, $children = false, $menu = array()) {
370 370
 
371 371
             $item = (array) $menu_item;
372 372
 
373 373
             $menu_item = array(
374
-                'id'          => abs( $item['ID'] ),
374
+                'id'          => abs($item['ID']),
375 375
                 'order'       => (int) $item['menu_order'],
376
-                'parent'      => abs( $item['menu_item_parent'] ),
376
+                'parent'      => abs($item['menu_item_parent']),
377 377
                 'title'       => $item['title'],
378 378
                 'url'         => $item['url'],
379 379
                 'attr'        => $item['attr_title'],
380 380
                 'target'      => $item['target'],
381
-                'classes'     => implode( ' ', $item['classes'] ),
381
+                'classes'     => implode(' ', $item['classes']),
382 382
                 'xfn'         => $item['xfn'],
383 383
                 'description' => $item['description'],
384
-                'object_id'   => abs( $item['object_id'] ),
384
+                'object_id'   => abs($item['object_id']),
385 385
                 'object'      => $item['object'],
386
-                'object_slug' => $this->get_object_slug( $item ),
386
+                'object_slug' => $this->get_object_slug($item),
387 387
                 'type'        => $item['type'],
388 388
                 'type_label'  => $item['type_label'],
389 389
             );
390 390
 
391
-            if ( $children === true && ! empty( $menu ) ) {
392
-	            $menu_item['children'] = $this->get_nav_menu_item_children( $item['ID'], $menu );
391
+            if ($children === true && ! empty($menu)) {
392
+	            $menu_item['children'] = $this->get_nav_menu_item_children($item['ID'], $menu);
393 393
             }
394 394
 
395
-            return apply_filters( 'rest_menus_format_menu_item', $menu_item );
395
+            return apply_filters('rest_menus_format_menu_item', $menu_item);
396 396
         }
397 397
 
398
-        private function get_object_slug($item){
398
+        private function get_object_slug($item) {
399 399
 			$slug = '';
400 400
 			
401
-			if($item['type'] == 'taxonomy'){
402
-                $slug = get_term( $item['object_id'] )->slug;
401
+			if ($item['type'] == 'taxonomy') {
402
+                $slug = get_term($item['object_id'])->slug;
403 403
             }
404 404
             else {
405
-                $slug = get_post( $item['object_id'] )->post_name;
405
+                $slug = get_post($item['object_id'])->post_name;
406 406
             }
407 407
 			
408 408
 			return $slug;
Please login to merge, or discard this patch.