অ্যাজাক্সে লোড হওয়া কোনও পোস্টের জন্য মন্তব্যগুলি কীভাবে কাজ করবেন?


10

আমি বর্তমানে এজ্যাক্স ব্যবহার করে একটি পোস্ট পোস্ট করছি। পোস্ট লোডিং ঠিকঠাক কাজ করার সময়, আমি মন্তব্যগুলি লোড করতে পারি না। আমার কোডটি এখানে:

পোস্টটি লোড করার জন্য আমার জাভাস্ক্রিপ্ট:

<script>
$(".view_post").click(function(e) {
    e.preventDefault();
    postid = $(this).attr("rel");
    $.ajax({
        url:"/wp-admin/admin-ajax.php",
        type:'POST',
        data:'action=posts_open&postid='+postid,
        success: function(html){
            $("#b_contentwrapper").empty();
            $("#b_contentwrapper").append(html);
        }
    });
});
</script>

জাভাস্ক্রিপ্ট এইভাবে ফাংশন.এফপি মাধ্যমে যায়:

function implement_posts()
{
    //<?php
    get_template_part( 'loop', 'single' );
    die();
}

এখন এখানে কোডটি যেখানে আমি আমার পোস্টের সামগ্রীটি লোড করি:

<?php
    $linkid = "p=".$_POST["postid"];
    $posti = new WP_Query($linkid);
    $posti->the_post();
    echo "Time: ";
    the_time('F jS, Y');
    echo "<br />";
    the_category(', ');
    echo "<br />";
    the_title();
    echo "<br />";
    the_content();
    echo "<br />";
    comment_form();
    ?>
    </div>
    <?php if (have_comments()) {
        echo "Comments ok";
    }
    else
    {
        echo "No comments";
    }
    ?>

এখন, এমনকি মন্তব্য থাকা পোস্টগুলির জন্যও আমি "কোনও মন্তব্য নেই" প্রদর্শিত হচ্ছে। অন্য সব কিছুই সঠিকভাবে কাজ করে। যে কেউ আমাকে সাহায্য করতে পারেন?

ধন্যবাদ.


$linkid = "p=".$_POST["postid"];ভেরি স্কিল ইঞ্জেকশন নিরাপদ নয়। যদিও ওয়ার্ডপেস এটি পরীক্ষা করে আপনি নিজেরাই এটি করতে চান wan
আরটিবি

উত্তর:


1

have_commentsফাংশনে কোডেক্সের উদ্ধৃতি দিতে :

এই ফাংশনটি সেট করা বিশ্বব্যাপী p wp_query অবজেক্টের উপর নির্ভর করে - এটি সাধারণত লুপের মধ্যে থেকেই ঘটে

সমস্যাটি হ'ল আপনার এজাক্স হ্যান্ডলারটি তার নিজস্ব ডাব্লুপি_কিউয়ারি আইটেম তৈরি করে। নোট করুন যে আপনি কল করছেন না the_post(), পরিবর্তে আপনি কল করছেন $posti->the_post()। একই যুক্তি মন্তব্যগুলিতেও প্রযোজ্য।

নিম্নলিখিত চেষ্টা করুন:

if ($posti->have_comments()) {
    echo "Comments ok";
}  else {
    echo "No comments";
}

0

আমার মতে, একটি জিকুয়ের সাথে যাওয়া ভাল better .load($[this].attr('href') '.div-with-content-and-comment');

আপনি অজ্যাক্সের class="div-with-content-and-comment"মাধ্যমে লোড করতে চান এমন একটি সিঙ্গেল.এফপি রয়েছে যা নিশ্চিত করে তুলুন।


0

উত্সটি দেখুন have_comments()- এই চেকটি বিশ্বব্যাপী $wp_queryঅবজেক্ট থেকে ডেটা পুনরুদ্ধার করে , যা আপনার ক্ষেত্রে ব্যবহৃত হয় না।

সুতরাং প্রথম পদক্ষেপটি have_comments()চেকের সাথে প্রতিস্থাপন করা হবে $posti->have_comments()

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.