How to get nav_menu_item_id and slug from wp database

Hi @Anjum:

I think the function get_nav_menu_id_by_page_template()is what you are looking for? You can place the code for this function in your theme’s functions.php file, or in a .php for a plugin you are writing:

function get_nav_menu_id_by_page_template($template) {
  static $nav_menu_id;
  if (!isset($nav_menu_id)) {
    global $wpdb;
    $sql = <<<SQL
SELECT 
  menu.post_id AS menu_id
FROM 
  {$wpdb->postmeta} AS template 
  INNER JOIN {$wpdb->postmeta} AS menu_id ON menu_id.meta_key='_menu_item_object_id' 
                                         AND menu_id.meta_value=template.post_id
  INNER JOIN {$wpdb->postmeta} AS menu ON menu_id.post_id=menu.post_id
WHERE 1=1
  AND menu.meta_key='_menu_item_object' AND menu.meta_value="page"
  AND template.meta_key='_wp_page_template' AND template.meta_value="%s"
SQL;      
    $nav_menu_id = $wpdb->get_var($wpdb->prepare($sql,$template));
  }
  return $nav_menu_id;
}

Once you have the get_nav_menu_id_by_page_template() function in your code you can call it in your theme template file like so:

<?php $nav_menu_id = get_nav_menu_id_by_page_template('store.php'); ?>