Je souhaite récupérer le contenu avec l'identifiant spécifique via la méthode de publication ajax.
Par exemple, si je clique sur une balise de lien ayant un identifiant de publication spécifique, le contenu de cet identifiant sera chargé dans post-data div.
Je suis très nouveau sur wp ajax et quelqu'un pourrait-il m'aider à atteindre cet objectif?
Voici mes codes
HTML une balise
<a id="<?php the_ID(); ?>" href="#">This is link</a>
<!-- the content -->
<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;
});
WP Action
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 = data['post_link'];
echo get_the_content($post_link);
die();
}
Je pense que quelque chose ne va pas avec mes codes, je viens d'obtenir la réponse 0.
Je mettrais l'action dans les données de poste
$.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;
.....
Ensuite, utilisez $ _POST ['post_link'] dans votre PHP
function my_custom_data(){
$post_link = $_POST['post_link'];
echo get_the_content($post_link);
die();
}