2011-07-26 15 views
6

Estoy tratando de obtener una respuesta JSON que muestre archivos adjuntos en miniatura para cada publicación de WordPress.¿Cómo usar JQuery.ajax para obtener la miniatura adjunta de cada publicación de WordPress?

He intentado usar el plugin JQuery json-api, pero me da todos los archivos adjuntos. Solo quiero la miniatura.

Por ejemplo, me gustaría utilizar JQuery.ajax para obtener las direcciones URL de fijación miniatura de cada poste de WordPress en formato JSON, como esto:

[{image_1: "thumbnail_image_a.jpg", 
image_2: "thumbnail_image_b.jpg", 
image_3: "thumbnail_image_c.jpg", 
... etc}] 

¿Debo escribir mi propio plugin? O agrega algo a functions.php? ¿O cuál es la forma menos compleja?

+1

Sé más útil para que publiques un pequeño marcado, solo una sugerencia. – daryl

Respuesta

7

Creo que deberías echar un vistazo a https://solislab.com/blog/5-tips-for-using-ajax-in-wordpress/ (antiguo sitio está abajo: http://www.garyc40.com/2010/03/5-tips-for-using-ajax-in-wordpress/#admin-ajax).

Al agregar una función simple con los ganchos de la derecha en su functions.php puede terminar con una buena manera de obtener exactamente lo que desea.

Adaptado de la URL mencionado anteriormente:

add_action('wp_ajax_nopriv_myajax-submit', 'myajax_submit'); 
add_action('wp_ajax_myajax-submit', 'myajax_submit'); 

function myajax_submit() { 
// get the submitted parameters 
    $postID = $_POST['postID']; 

    $response = get_thumbnail_images(); 
    $response = json_encode($response); 

// response output 
    header("Content-Type: application/json"); 
    echo $response; 

// IMPORTANT: don't forget to "exit" 
exit; 
} 

me llaman get_thumnail_images() en el que podría tener un WP_Query o una instrucción SQL para obtener la información que necesita en una matriz.

Recapitulemos la parte wordpress: 1) ganchos

2) función que conseguir que se llama basado en el parámetro de acción solicitada por el AjaxRequest (ver URL para la plena tutorial)

3) una función lógica que nos dará las miniaturas

4) el resultado es una matriz json codificada. Puedes hacer lo que quieras con él en el frente.

+0

Parece que esa publicación se ha eliminado. Cualquier otra referencia? –

+0

lamentablemente no, esta cosa es muy antigua ... –

+1

La publicación se ha movido a este sitio: https://solislab.com/blog/5-tips-for-using-ajax-in-wordpress/ – EGS

0

Tendría que usar $ .ajax para descargar la página a través de su argumento URL, luego tendría que ordenar el marcado para encontrar cada publicación y obtener la miniatura de la misma. No conozco el marcado para un sitio de wordpress, así que no puedo ayudarte allí.

Puede funcionar algo como esto:

$.ajax('url.php',{ 
     dataType: 'html', 
     success: function(data){ 
      $.find('wordpress_comment_element').each(function(){ 
       var thumb=$(this).children('img').attr('src'); 
       //add thumb to JSON object 
      } 
     } 
    }); 
+0

Gracias Jason. Estoy buscando una solución que sea más rápida que raspar todas las publicaciones del blog y encontrar la imagen. Hay cientos de publicaciones. La pantalla que construiré a partir de JSON es la parte principal de la página de inicio, por lo que debe cargarse muy rápido (como en ~ 2 segundos o menos). – edt

+0

¿Podría darme un ejemplo de sitio en el que quiera usar esto para poder probarlo yo mismo? –

+0

Finalmente se recibió una respuesta del cliente. Lo sentimos, pero el sitio está en desarrollo y todavía no quiere mostrarlo. – edt

Cuestiones relacionadas