Bueno aca les traigo unos  codigos que lo busque por mucho tiempo   y me costo trabajo encontrar  ya que era  importante  implementarlo en un proyecto.
es  relativamente    facil


como implementarlo  :


1  copiar  el siguiente  codigo en el   archivo template.php  del tema de preferencia  al    final  


function node_sibling($dir = 'next', $node, $next_node_text=NULL, $prepend_text=NULL, $append_text=NULL, $tid = FALSE){
  if($tid){
    $query = 'SELECT n.nid, n.title FROM {node} n INNER JOIN {term_node} tn ON n.nid=tn.nid WHERE '
           . 'n.nid ' . ($dir == 'previous' ? '<' : '>') . ' :nid AND n.type = :type AND n.status=1 '
           . 'AND tn.tid = :tid ORDER BY n.nid ' . ($dir == 'previous' ? 'DESC' : 'ASC');
    //use fetchObject to fetch a single row
    $row = db_query($query, array(':nid' => $node->nid, ':type' => $node->type, ':tid' => $tid))->fetchObject();
  }else{
    $query = 'SELECT n.nid, n.title FROM {node} n WHERE '
           . 'n.nid ' . ($dir == 'previous' ? '<' : '>') . ' :nid AND n.type = :type AND n.status=1 '
           . 'ORDER BY n.nid ' . ($dir == 'previous' ? 'DESC' : 'ASC');
    //use fetchObject to fetch a single row    
    $row = db_query($query, array(':nid' => $node->nid, ':type' => $node->type))->fetchObject();
  }

  if($row) {  
    $text = $next_node_text ? $next_node_text : $row->title;
    return $prepend_text . l($text, 'node/'.$row->nid, array('rel' => $dir)) . $append_text;
  } else {
      return FALSE;
  }
}


2. este   codigo lo pegan  en el   el archivo tpl  

si no crearon un tpl  personalizado entonces   deberian pegarlo en node.tpl.php

<?php
$next = node_sibling('next',$node,NULL,NULL,NULL,FALSE);
$previous = node_sibling('previous',$node,NULL,NULL,NULL,FALSE);

print $previous.'||'.$next;
?>


------------------..............------------------