it-swarm.com.de

So rufen Sie den Inhalt (mit einer bestimmten ID) über Ajax ab, indem Sie auf ein Link-Tag klicken

Ich möchte den Inhalt mit der spezifischen ID über die Ajax-Post-Methode abrufen.

Wenn ich zum Beispiel auf ein Link-Tag klicke, das eine bestimmte Beitrags-ID hat, wird der Inhalt dieser ID in post-data div geladen.

Ich bin sehr neu in WP Ajax und könnte mir jemand helfen, dies zu erreichen?

Hier sind meine Codes
HTML ein Tag

<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 Aktion

   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();
   }

Ich denke, mit meinen Codes stimmt etwas nicht, ich erhalte nur die Antwort 0.

1
Jamille

Ich würde die Aktion in die Postdaten setzen

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

Verwenden Sie dann $ _POST ['post_link'] in Ihrem PHP

   function my_custom_data(){
       $post_link = $_POST['post_link'];
   echo get_the_content($post_link);
   die();
   }
0
Jim-miraidev