#4 te lo paso en un spoiler?
es una mezcla entre jquery y ajax
jQuery(document).ready(function() {
var $mainContent = jQuery("#primary"),
siteUrl = "http://" + top.location.host.toString(),
url = '';
jQuery(document).on("click", "a[href^='"+siteUrl+"']:not([href*='/wp-admin/']):not([href*='/wp-login.php']):not([href$='/feed/'])", function() {
location.hash = this.pathname;
return false;
});
jQuery("#searchform").submit(function(e) {
location.hash = '?s=' + jQuery("#s").val();
e.preventDefault();
});
jQuery(window).bind('hashchange', function(){
url = window.location.hash.substring(1);
if (!url) {
return;
}
url = url + " #content";
$mainContent.animate({opacity: "0"}).html('<div class="loader"> </div> ').load(url, function() {
$mainContent.animate({opacity: "1"});
});
});
jQuery(window).trigger('hashchange');
});
diria que ese codigo hace la llamada a otro archivo que hay en la misma carpeta jquery.ba-hashchange.min.js
la plantilla que estoy modificando es esta http://www.fabthemes.com/ajaxify/ dentro hay un live demo y hace lo de agregar la # a la url tambien
el slide esta dentro de la pagina principal que se va a mostrar, la primera vez se ve bien y luego si navegas por los menus se queda cargando el slide, has mirado la demo?