J
Juanjo87
Gamma
Diseñador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
<script>
var isIndex = true;
$(document).ready(function(){
$(".a_img_carousel").click(function(event){ //Para todos los enlaces
event.preventDefault(); //Prevenimos su comportamiento habitual
//Cambiamos la dirección de la barra del navegador
history.pushState(null, "", $(this).attr("href"));
//Cargamos con Ajax la página
loadPage($(this).attr("href"));
});
//Para que carge cuando retrocedemos en el historial. Con el condicional
// se evita que el popstate salte la primera vez que entramos en la página
$(window).bind("popstate", function () {
loadPage(location.href);
});
});
//Funcion de carga de Ajax. Se suponone que:
// - #container está visible y es donde cargamos la página
// - #loading está invisible y tiene alguna animación para esperar la carga
// Se podría simplificar por $("#container").load(url);
function loadPage(url){
$("body").hide(300);
$("#loading").show(300);
$("body").load(url+"#head_background", function(){
$("#loading").hide(300);
$("body").show(300);
});
}
</script>
$.ajax({
type : 'GET',
url : url,
success : function(data) {
$("#loading").hide(300);
$("body").show(300).html(data);
}
});
<script>
var isIndex = true;
$(document).ready(function(){
$(".a_img_carousel").click(function(event){
event.preventDefault();
history.pushState(null, "", $(this).attr("href"));
loadPage($(this).attr("href"));
});
$(window).bind("popstate", function () {
if (!isIndex){
loadPage(location.href);
}else{
isIndex = false;
}
});
});
function loadPage(url){
$.ajax({
type : 'GET',
url : url,
success : function(data) {
$("#loading").hide(300);
$("body").show(300).html(data);
}
});
}
</script>
$("#container").show(300).html(data+ "#container");
<?php
function mostrar_ajax() {
if ( ! is_numeric( $_POST['post_id']))
die("Wrong ID!");
$_POST['post_id'] = abs(intval($_POST['post_id']));
if ( ! $_POST['post_id'] )
die("Wrong ID!");
if(isset($_POST['post_id'])){
global $post;
$post = get_post($_POST['post_id']);
if ($post!=null){
setup_postdata($post);
//Aqui lo que quiero mostrar
?>
<div>esto se muestra</div>
<?php
}
}
die();
}
add_action('wp_ajax_mostrar_ajax', 'mostrar_ajax');
add_action('wp_ajax_nopriv_mostrar_ajax', 'mostrar_ajax');
?>
<script type="text/javascript">
function showFicha_ajax(id){
$("#destino-ajax").html("<div id='load-ajax'>loading...</div>");
jQuery.post(
"/exytum/wp-admin/admin-ajax.php",
{
'action': 'mostrar_ajax',
'post_id': id
},
function(response){
$("#destino-ajax").html(response);
}
);
}
</script>
<a id="tittle-panel_<?php echo $post->post_title; ?>" href="#destino-ajax" onclick="showFicha_ajax('<?php echo $post->ID;?>','mostrar_ajax','#destino-ajax'); return false;" >
AQUI
</a>
Ok, no especifiqué por que supuse que te darías cuenta que dentro de la función php mostrar_ajax() que has creado en functions.php puedes crear una instancia de WP_Query que recupere el contenido de una página usando el id, luego dentro del loop usas las funciones que te mencioné.creo que no hablamos de lo mismo
- - - Actualizado - - -
Lo que pretendo hacer, es que carguen todos los enlaces en la misma pagina, sin que se recargue el navegador.
Me puede orientar alguien?
<script>
var isIndex = true;
$(document).ready(function(){
$(".a_img_carousel").on('click', function(event){
event.preventDefault();
history.pushState(null, "", $(this).attr("href"));
loadPage($(this).attr("href")+' #container');
});
$(window).bind("popstate", function () {
loadPage(location.href + ' #container');
});
});
function loadPage(url){
$("#container").hide(300);
$("#loading").show(300);
$("#container").load(url, function(){
$("#loading").hide(300);
$("#container").show(300);
});
}
</script>
<script>
$.getScript('https://code.jquery.com/ui/1.12.1/jquery-ui.js',function(){
var carousel = $("#carousel, #carousel_actrs, #carousel-all, #carousel-accion, #carousel-most_popular, #carousel-most_view");
carousel.owlCarousel();
});
</script>
<script>
$(document).ready(function(){
$.ajaxSetup({cache:false});
$(".post-link").click(function(){
var post_link = $(this).attr("href");
$("#single-post-container").html("content loading");
$("#single-post-container").load(post_link);
return false;
});
});
</script>
,load() esta obsoleto desde jquery 1.8,pues no me entero...
Tienes que empaparte mas manual de WP.son MUCHAS cosas que explicar, te sugiero que sigas este tuto ajax en wordpress
Tienes que empaparte mas manual de WP.
Perdona si hay mal entendido.¿A qué te refieres?
<?php
function tooltip_ajax() {
if ( ! is_numeric( $_POST['post_id']))
die("Wrong ID!");
$_POST['post_id'] = abs(intval($_POST['post_id']));
if ( ! $_POST['post_id'] )
die("Wrong ID!");
if(isset($_POST['post_id'])){
global $post;
$post = get_post($_POST['post_id']);
if ($post!=null){
setup_postdata($post);
//Aquí lo que quiero mostrar
?>
<?php the_permalink(); ?>
<?php
}
}
die();
}
add_action('wp_ajax_tooltip_ajax', 'tooltip_ajax');
add_action('wp_ajax_nopriv_tooltip_ajax', 'tooltip_ajax');
?>
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?