Why am I getting a "page not found" error for this implementation of hook_menu()? Here's the implementation of hook_menu() in my theme, "myTheme":

function myTheme_menu() {
    $items = array();
    $items['ajax'] = array(
        'title' =&gt; 'AJAX',
        'access arguments' =&gt; array('access content'),
        'type' =&gt; MENU_CALLBACK
    );
    $items['blog'] = array(
        'title' =&gt; 'sonia blog',
        'access arguments' =&gt; array('access content'),
        'type' =&gt; MENU_CALLBACK
    );
    return $items;
}


example.com/ajax is working fine, but example.com/blog is returning me a "page not found" error. I have cleared my cache. 

Do you have any idea about what is going wrong?

EDIT
One of the commenters suggested that I need a page_callback property. However, the documentation on hook_menu does not say that it's required. Regardless, I tried adding this callback but still no luck. Here's the code with it:

function myTheme_menu() {
    $items = array();
    $items['blog'] = array(
        'title' =&gt; 'sonia blog',
        'access arguments' =&gt; array('access content'),
        'page callback' =&gt; 'myTheme_callback_blog',
        'type' =&gt; MENU_CALLBACK
    );
    return $items;
}

function myTheme_callback_blog(){
    return '';
}
I believe you cannot define a hook_menu() implementation in a theme; it should be defined in a module.

When you make changes to a hook_menu() implementation, you need to ensure that you rebuild the menu router, as well. To that end you can manually look at your database's "menu_router" table to see if the callback is being registered.