Change record status: 
Project: 
Introduced in branch: 
8.0.x
Description: 

Following functions are deprecated

  • menu_primary_local_tasks()
  • menu_secondary_local_tasks()
  • menu_local_tabs()

use \Drupal\Core\Menu\LocalTaskManagerInterface::getLocalTasks() instead.

Examples

Now instead of menu_primary_local_tasks() for primary use:

<?php
/** @var \Drupal\Core\Menu\LocalTaskManagerInterface $manager */
  $manager = \Drupal::service('plugin.manager.menu.local_task');
  $links = $manager->getLocalTasks(\Drupal::routeMatch()->getRouteName(), 0);
 ?>

Now instead of menu_secondary_local_tasks() for secondary use:

<?php
/** @var \Drupal\Core\Menu\LocalTaskManagerInterface $manager */
  $manager = \Drupal::service('plugin.manager.menu.local_task');
  $links = $manager->getLocalTasks(\Drupal::routeMatch()->getRouteName(), 1);
 ?>

Now instead of menu_local_tabs() use local_tasks_block block or inline theming like:

/** @var \Drupal\Core\Menu\LocalTaskManagerInterface $manager */
  $manager = \Drupal::service('plugin.manager.menu.local_task');
  $primary = $manager->getLocalTasks(\Drupal::routeMatch()->getRouteName(), 0);
  $secondary = $manager->getLocalTasks(\Drupal::routeMatch()->getRouteName(), 1);
  $build = [
    '#theme' => 'menu_local_tasks',
    '#primary' => $primary ?: [],
    '#secondary' => $secondary ?: [],
  ];
  return $build;
 
Impacts: 
Module developers