Fíjate qué fácil. Imagínate que la web se llama pagina.php y le añades la variable pagina
 
Ejemplo: pagina.php?pagina=5
Si no existe la variable, la página por defecto será 1. Entonces:   
Código PHP:
Ver original$cuantosRegistrosPorPagina=30;
 
if(isset($_GET['pagina']) {        $pagina=$_GET['pagina'];
} else {
       $pagina=1;
}
 
$inicioDelLimit=$pagina*$cuantosRegistrosPorPagina;
 
$sql = "SELECT id, autor, titulo, fecha, hora, respuestas, ult_respuesta, ult_hora, ult_autor ";
$sql.= "FROM foro WHERE identificador=0 ORDER BY  id DESC ";
$sql.= "LIMIT ".$inicioDelLimit.", ".$cuantosRegistrosPorPagina;
  
Luego puedes contar los resultados que hay en total (sin contar paginación) y calculas las páginas totales que pueda haber con round():    
Código PHP:
Ver original$sql2 = "SELECT * ";
$sql2.= "FROM foro WHERE identificador=0 ORDER BY  id DESC ";
 
$totaldepaginas=$totalderegistros / $cuantosRegistrosPorPagina;
 
//Imprime todas las páginas:
for($i=1; $i<=$totaldepaginas ; $i++) {
 
      echo " | <a href='pagina.php?pagina=".$i."'>".$i."</a> ";
 
}
  
Saludos.