<?php
function disableMenuLink($id = NULL, $nid = NULL, $menu_name = 'main') {
if (isset($id) && !empty($id)) {
$menu_link = \Drupal::entityTypeManager()->getStorage('menu_link_content')->load($id);
}
if (!isset($menu_link) && isset($nid) && is_numeric($nid)) {
$menu_link_manager = \Drupal::service('plugin.manager.menu.link');
$result = $menu_link_manager->loadLinksByRoute('entity.node.canonical', ['node' => $nid]);
foreach ($result as $menu_item) {
if (is_object($menu_item)) {
$id = $menu_item->getPluginDefinition()['metadata']['entity_id'];
$menu_link = \Drupal::entityTypeManager()->getStorage('menu_link_content')->load($id);
}
}
}
if (isset($menu_link) && is_object($menu_link)) {
if ($menu_link->getMenuName() == $menu_name) {
$menu_link->set('enabled', FALSE);
$menu_link->save();
}
}
}