Cum să preiau conținutul (cu un ID specific) prin ajax la click pe un link

30 oct. 2017, 18:25:27
Vizualizări: 14K
Voturi: 2

Doresc să preiau conținutul cu un ID specific prin metoda POST Ajax.

De exemplu, când dau click pe un link care are un ID specific de post, conținutul acelui ID să se încarce în div-ul post-data.

Sunt foarte nou în Ajax în WordPress și aș avea nevoie de ajutor pentru a realiza acest lucru.

Iată codurile mele
HTML a tag

<a id="<?php the_ID(); ?>" href="#">Acesta este linkul</a>
<!-- conținutul -->
<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();
   }

Cred că ceva nu este în regulă cu codurile mele, primesc doar răspunsul 0.

1
Comentarii

"action" trebuie să fie în date: "data" : {"post_link" : post_ID, "action" : "my_custom_data"}

mmm mmm
30 oct. 2017 18:46:54
Toate răspunsurile la întrebare 1
0

Aș pune acțiunea în datele postării

$.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;
.....

Apoi folosește $_POST['post_link'] în PHP-ul tău

   function my_custom_data(){
       $post_link = $_POST['post_link'];
   echo get_the_content($post_link);
   die();
   }
30 oct. 2017 18:49:10