Ver Mensaje Individual
  #5 (permalink)  
Antiguo 15/12/2014, 08:47
Avatar de madman_18
madman_18
 
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Respuesta: Acelerar llamadas Ajax en wordpress

Cita:
Iniciado por chichote Ver Mensaje
Postea el link de tu sitio, quizás tengas redundancia en tu código, no sabría darte una solución sin saber cual es puntualmente el problema.

Como tips te puedo decir que compares las peticiones propias de wordpress con las creadas por ti. Abre el wp-admin (navega entre sus items), abre tu consola y analiza los tiempos de respuesta de las peticiones ajax, si vez que son muy lentas, quiere decir que los tiempos de respuesta de tu servidor son lentos y la solución es que contrates una cuenta en una empresa que tenga mejores prestaciones. Si vez que anda rápido querrá decir que el problema lo tienes en tu código.


Saludos.
Gracias por contestar tan rápido!

Lo único que hago en mis llamadas ajax es recuperar un post y una serie de fotografías que necesito incluir para un slider y me tarda de 1,9s a 2,5s y no entiendo por qué tanta diferencia respecto a llamadas ajax que hace worpress en su admin.

El código de ajax donde recupero los post es :

Código PHP:
Ver original
  1. add_action('wp_ajax_buscar_posts', 'buscar_posts_callback');
  2. add_action('wp_ajax_nopriv_buscar_posts', 'buscar_posts_callback');
  3. function buscar_posts_callback(){  
  4.     if ((!isset($_POST["miPost"])) || (!isset($_POST["slug"]))){
  5.         echo "<p>Lo sentimos, ocurri&oacute; un error recuperando los datos.</p>";
  6.         die();
  7.     }
  8.     //Buscamos los datos del post  
  9.     $querySlider = array('category_name'=>'slider-'.$_POST["slug"],'order'=>"ASC");
  10.     $objetoSlider = new WP_Query($querySlider);
  11.     if ($objetoSlider->have_posts()){
  12.         ?>
  13.         <div class="sliderSeccion-conoce">
  14.             <div class="slider-wrapper theme-default">
  15.                 <div id="slider-conoce" class="nivoSlider">
  16.                 <?php
  17.                     while($objetoSlider->have_posts()){
  18.                         $objetoSlider->the_post();
  19.                         if (has_post_thumbnail()){
  20.                             the_post_thumbnail();
  21.                         }
  22.                     }  
  23.                 ?>                 
  24.                 </div>
  25.             </div>
  26.         </div>
  27.         <?php  
  28.         wp_reset_postdata();
  29.     }
  30.     ?>
  31.     <?php
  32.         $queryDatos = array("cat"=>$_POST["miPost"]);
  33.         $objetoDatos = new WP_Query($queryDatos);
  34.         if ($objetoDatos->have_posts()){
  35.         ?>
  36.             <div class="contenido-conoce">
  37.                 <?php
  38.                     while($objetoDatos->have_posts()){
  39.                         $objetoDatos->the_post();                      
  40.                         ?>
  41.                         <div class="tituloContenido-conoce"><p><?php the_title();?></p></div>
  42.                         <div class="textoContenido-conoce"><?php the_content();?></div>
  43.                         <?php
  44.                     }                  
  45.                     if ($_POST["slug"]=="conoce-origenes"){
  46.                         ?>
  47.                         <a class="enlaceContenido-conoce" href="algunsition" target="_blank">M&aacute;s informaci&oacute;n.</a>
  48.                         <?php  
  49.                     }
  50.                 ?>
  51.             </div>
  52.             <?php      
  53.             wp_reset_postdata();
  54.         }
  55.     ?>
  56.     <script type="text/javascript">
  57.         $(document).ready(function(){
  58.             $("#slider-conoce").nivoSlider({
  59.                 directionNav:true,
  60.                 effect:'fade',
  61.                 pauseTime: 4000,
  62.                 animSpeed:1000,
  63.                 slices:1
  64.             });
  65.             $("#contenido-conoceDerecha").show("fade");
  66.         });
  67.     </script>
  68.     <?php  
  69.     die();

No es un código excesivamente complejo ni son 200 líneas de funcion...no sé donde puede estar tanta demora en la llamada ajax. :S
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"