How to hide the link for creating certain content type?
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]);
  }
}