PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3
Jetpack – WP Security, Backup, Speed, & Growth v16.3
16.3 16.3-beta 16.3-a.5 16.3-a.7 16.3-a.3 16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 All 508 releases
← All changes | jetpack_vendor/automattic/jetpack-import/src/endpoints/class-menu.php +67 -0 16.2-beta → 16.3 View file →
@@ -1,0 +1,67 @@
1 +<?php
2 +/**
3 + * Menus REST route
4 + *
5 + * @package automattic/jetpack-import
6 + */
7 +
8 +namespace Automattic\Jetpack\Import\Endpoints;
9 +
10 +use WP_Error;
11 +use WP_REST_Request;
12 +use WP_REST_Response;
13 +
14 +if ( ! defined( 'ABSPATH' ) ) {
15 + exit( 0 );
16 +}
17 +
18 +/**
19 + * Class Menu
20 + */
21 +class Menu extends \WP_REST_Menus_Controller {
22 +
23 + /**
24 + * Base class
25 + */
26 + use Import;
27 +
28 + /**
29 + * The Import ID add a new item to the schema.
30 + */
31 + use Import_ID;
32 +
33 + /**
34 + * Whether the controller supports batching. Default true.
35 + *
36 + * @var array
37 + */
38 + protected $allow_batch = array( 'v1' => true );
39 +
40 + /**
41 + * Constructor.
42 + */
43 + public function __construct() {
44 + parent::__construct( 'nav_menu' );
45 +
46 + // @see add_term_meta
47 + $this->import_id_meta_type = 'term';
48 + }
49 +
50 + /**
51 + * Creates a single menu.
52 + *
53 + * @param WP_REST_Request $request Full details about the request.
54 + * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
55 + */
56 + public function create_item( $request ) {
57 + // Set the WP_IMPORTING constant to prevent sync notifications
58 + $this->set_importing();
59 +
60 + $response = parent::create_item( $request );
61 +
62 + // Ensure that the HTTP status is a valid one.
63 + $response = $this->ensure_http_status( $response, 'menu_exists', 409 );
64 +
65 + return $this->add_import_id_metadata( $request, $response );
66 + }
67 +}