Hola a todos!
Estoy un poco atascado en el uso de ajax+shortinit(para hacerlo más rápido).
Os pongo mi código:
En mi ajax.php tengo lo siguiente:
Código PHP:
Ver originaldefine('LOGGED_IN_COOKIE',true); require_once ('../../../../wp-load.php');
require_once ('../../../../wp-includes/taxonomy.php');
require_once ('../../../../wp-includes/meta.php');
require_once ('../../../../wp-includes/post.php');
require_once ('../../../../wp-includes/user.php');
require_once ('../../../../wp-includes/pluggable.php');
require_once ('../../../../wp-includes/capabilities.php');
require_once ('../../../../wp-includes/comment.php');
require_once ('../../../../wp-includes/formatting.php');
require_once ('../../../../wp-includes/query.php');
require_once ('ajax-funciones.php');
if ((!isset($_POST["action"])) || ($_POST["action"]!=="") || (!is_numeric($_POST["action"]))) { switch($_POST["action"]){
case 'buscaPost':
if ((isset($_POST["miPost"])) || (isset($_POST["slug"]))){ sacaPost($_POST["miPost"],$_POST["slug"]);
}else{
echo "No hay variables";
}
break;
}
}
Y en mi ajax-funciones.php tengo lo siguiente (la función sacaPost)
Código PHP:
Ver originalfunction sacaPost($idPost,$slugPost){
// Buscamos el contenido del post
$query = array("cat"=>$idPost); $objetoDatos = new WP_Query($query);
if ($objetoDatos->have_posts()){
while($objetoDatos->have_posts()){
$objetoDatos->the_post();
echo get_the_content();
}
wp_reset_postdata();
}else{
echo "any";
}
}
He probado ya bastantes cosas pero siempre me devuelve "any" al hacer la llamada. La llamada la hago al hacer un click en una lista que tengo y la hago de la siguiente forma:
Código Javascript
:
Ver originaljQuery.post(MyAjax.url,{action: 'buscaPost',miPost: miID,slug: miSlug},function(response){
jQuery("#contenido-conoceDerecha").html(response);
jQuery("#contenido-conoceDerecha").show('fade');
});
Como véis la llamada es simple pero no se por qué el have_posts() siempre me está sacando como false, como si no existiese ninguna entrada cuando sí lo hay.
¿Qué puede ser el fallo?? Gracias!