Cómo recuperar contenido (con un ID específico) via ajax al hacer clic en un enlace
30 oct 2017, 18:25:27
Vistas: 14K
Votos: 2
Quiero recuperar el contenido con un ID específico mediante el método POST de ajax.
Por ejemplo, si hago clic en un enlace que tiene un ID de post específico, el contenido de ese ID se cargará en el div post-data.
Soy muy nuevo en ajax para WordPress y me gustaría que alguien me ayudara a lograr esto.
Aquí están mis códigos
Etiqueta HTML a
<a id="<?php the_ID(); ?>" href="#">Este es el enlace</a>
<!-- el contenido -->
<div id="post-data"></div>
Jquery Ajax
$("a").click(function (event) {
var post_ID = $(this).attr('id');
$.ajax({
url: "/wp-admin/admin-ajax.php",
type: "POST",
action: "my_custom_data",
data: {post_link: post_ID},
success: function (response) {
console.log(response);
$('#post-data').append(response);
}
});
event.stopImmediatePropagation();
event.preventDefault();
return false;
});
Acción de WordPress
add_action('wp_ajax_my_custom_data', 'my_custom_data');
add_action('wp_ajax_nopriv_my_custom_data', 'my_custom_data');
function my_custom_data(){
$post_link = $_POST['post_link']; // Corregido: usar $_POST en lugar de data
echo get_the_content($post_link);
die();
}
Creo que hay algo mal en mis códigos, solo obtengo la respuesta 0.
Comentarios
Todas las respuestas a la pregunta
1
0
Yo incluiría la acción en los datos del post
$.ajax({
url: "/wp-admin/admin-ajax.php",
type:"POST",
data: {
action: "my_custom_data",
post_link: post_ID
},
success: function (response) {
console.log(response);
$('#post-data').append(response);
}
});
return false;
.....
Luego usa $_POST['post_link'] en tu PHP
function my_custom_data(){
$post_link = $_POST['post_link'];
echo get_the_content($post_link);
die();
}

DesignMonkeyJim
349
30 oct 2017 18:49:10
Preguntas relacionadas
1
respuestas
16
respuestas
4
respuestas
1
respuestas