How to hide the link for creating certain content type? I am trying to make a reservation system for equipment in a laboratory. People reserve equipment by creating "reservation" nodes. Some fields in the reservation node already have values, determined by the way the (registered) users reached the "form", and the values can´t be changed by them.
I don´t want the registered users to have access to create the reservation node through the "Add content -> Create Reservation node" way.
How to "hide" that option in the add content menu? (as they do have permission to create the reservation node)
In drupal 8, you can remove certain links from the /node/add page hook_preprocess_node_add_list():

function mymodule_preprocess_node_add_list(&amp;$vars) {

  // Remove a few content types from /node/add page.
  $types_to_remove = [
    'dog',
    'cat',
    'fox',
    'rabbit',
  ];
  foreach ($types_to_remove as $type) {
    unset($vars['content'][$type]);
    unset($vars['types'][$type]);
  }
}


If you are using the admin_toolbar for drop-downs, you can remove links using hook_menu_links_discovered_alter().

function mymodule_menu_links_discovered_alter(&amp;$links) {

  // Remove a few "node add" pages from admin menu.
  $types_to_remove = [
    'dog',
    'cat',
    'fox',
    'rabbit',
  ];
  foreach ($types_to_remove as $type) {
    unset($links['node.add.' . $type]);
  }
}