Overriding the Blog username breadcrumb in the native Blog module I want to disable the blog username in the breadcrumb which reads:
Home > Blogs > John's blog > Blog post

I have found the function in the core Blog module:

/**
 * Implements hook_view().
 */
function blog_view($node, $view_mode) {
  if ($view_mode == 'full' &amp;&amp; node_is_page($node)) {
    // Breadcrumb navigation.  l() escapes title, so we should not escape !name.
    drupal_set_breadcrumb(array(l(t('Home'), NULL), l(t('Blogs'), 'blog'), l(t("!name's blog", array('!name' =&gt; format_username($node))), 'blog/' . $node-&gt;uid)));

  }
  return $node;
}


How should I best override this function in my theme?
A node preprocess function in your template.php file would probably do the trick:

function MYTHEME_preprocess_node(&amp;$vars) {
  if ($vars['node']-&gt;type == 'blog' &amp;&amp; $vars['view_mode'] == 'full') {
    $bc = function_to_get_breadcrumb();
    drupal_set_breadcrumb($bc);
  }
}


This should happen early on enough in the page build process for the changes to make their way through to page.tpl.php. You could also look at doing this in hook_node_view() in a custom module if you'd prefer.