WP_REST_Menus_Controller::handle_auto_add
Updates the menu's auto add from a REST request.
Метод класса: WP_REST_Menus_Controller{}
Хуки из метода
Возвращает
true|false. True if the auto add setting was successfully updated.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->handle_auto_add( $menu_id, $request );
- $menu_id(int) (обязательный)
- The menu id to update.
- $request(WP_REST_Request) (обязательный)
- Full details about the request.
Список изменений
| С версии 5.9.0 | Введена. |
Код WP_REST_Menus_Controller::handle_auto_add() WP REST Menus Controller::handle auto add WP 6.9
protected function handle_auto_add( $menu_id, $request ) {
if ( ! isset( $request['auto_add'] ) ) {
return true;
}
$nav_menu_option = (array) get_option( 'nav_menu_options', array( 'auto_add' => array() ) );
if ( ! isset( $nav_menu_option['auto_add'] ) ) {
$nav_menu_option['auto_add'] = array();
}
$auto_add = $request['auto_add'];
$i = array_search( $menu_id, $nav_menu_option['auto_add'], true );
if ( $auto_add && false === $i ) {
$nav_menu_option['auto_add'][] = $menu_id;
} elseif ( ! $auto_add && false !== $i ) {
array_splice( $nav_menu_option['auto_add'], $i, 1 );
}
$update = update_option( 'nav_menu_options', $nav_menu_option );
/** This action is documented in wp-includes/nav-menu.php */
do_action( 'wp_update_nav_menu', $menu_id );
return $update;
}