Why does hook_menu() not show my items in menu? Here's my code and I can't get why hook_menu doesn't work. My block menu doesn't showing in menu. As I understood this code (hook_menu()) should show link in which for will work drupal_post_form using function instance_export_form. 

So I mean that when I follow admin/config/content/instances_export I get just content menu list, not a form which I need

    &lt;?php

function instances_export_block_info()
{
    $blocks['instances_export'] = array(
        'info'  =&gt; t('Instance export'),
        'cache' =&gt; DRUPAL_CACHE_PER_ROLE,
    );

    return $blocks;
}

function instance_export_menu()
{
    $items = array();

    $items['admin/config/content/instance_export/settings'] = array(
        'access arguments' =&gt; array('administer site configuration'),
        'title'            =&gt; 'Configure export',
        'description'      =&gt; 'Chose what you want to export and where',
        'page callback'    =&gt; 'drupal_get_form',
    );

    $items['admin/config/content/instances_export'] = array(
        'title'            =&gt; 'Form to export data',
        'page callback'    =&gt; 'drupal_post_form',
        'page arguments'   =&gt; array('instance_export_form'),
        'access arguments' =&gt; array('administer site configuration'),
    );

    return $items;
}


Here info file

 name = Instance export and import module
    description = Allow to export synchronize few instance of Drupal
    core = 7.x
    version = «7.x-1.0»
    configure = admin/config/content/instances_export
    files[]=instance_export.module
There are a few things that look out of place there:


Your module name is instance_export so you should not use instance_export_form as a function name because Drupal will think that you are defining hook_form() and you will run into problems. Best to use function names that are less likely to clash with other modules.
The menu item admin/config/content/instance_export/settings is using drupal_get_form() as the callback but isn't passing in any form ID as 'page arguments'
The menu item admin/config/content/instances_export uses the page callback drupal_post_form(), which is not a Drupal function. I assume you want drupal_get_form() here also.


Something like this should work better:

function instance_export_menu() {
  $items = array();

  $items['admin/config/content/instance_export/settings'] = array(
    'title'            =&gt; 'Configure export',
    'description'      =&gt; 'Chose what you want to export and where',
    'page callback'    =&gt; 'drupal_get_form',
    'page arguments'   =&gt; array('instance_export_settings_form'),
    'access arguments' =&gt; array('administer site configuration'),
  );

  $items['admin/config/content/instances_export'] = array(
    'title'            =&gt; 'Form to export data',
    'page callback'    =&gt; 'drupal_get_form',
    'page arguments'   =&gt; array('instance_export_export_form'),
    'access arguments' =&gt; array('administer site configuration'),
  );

  return $items;
}


Note that I made up a form function for the first menu item (instance_export_settings_form) and changes the one for the second menu item (instance_export_export_form). This would be whatever you want your functions to be.

Also, if you want these pages to be tabs in your module's admin area do it like this instead:

function instance_export_menu() {
  $items = array();

  $items['admin/config/content/instance_export'] = array(
    'title'            =&gt; 'Configure export',
    'description'      =&gt; 'Chose what you want to export and where',
    'page callback'    =&gt; 'drupal_get_form',
    'page arguments'   =&gt; array('instance_export_settings_form'),
    'access arguments' =&gt; array('administer site configuration'),
  );

  $items['admin/config/content/instance_export/settings'] = array(
    'title'            =&gt; 'Configure export',
    'type'             =&gt; MENU_DEFAULT_LOCAL_TASK,
  );

  $items['admin/config/content/instances_export/export'] = array(
    'title'            =&gt; 'Form to export data',
    'page callback'    =&gt; 'drupal_get_form',
    'page arguments'   =&gt; array('instance_export_export_form'),
    'access arguments' =&gt; array('administer site configuration'),
    'type'             =&gt; MENU_LOCAL_TASK,
  );

  return $items;
}


I'm assuming that your hook_block_info() is not relevant to this question.