বর্তমান ব্যবহারকারীর কাছ থেকে কেবলমাত্র মন্তব্য দেখানোর জন্য প্রশাসনিক মন্তব্যগুলির তালিকা ফিল্টার করা হচ্ছে?


10

মন্তব্য পৃষ্ঠাতে ( /wp-admin/edit-comments.php), প্রতিটি লগ ইন করা ব্যবহারকারীরা সমস্ত সাইটের মন্তব্য দেখতে পাবেন see
মন্তব্য পৃষ্ঠা


আমি ব্যবহারকারীদের কেবল তার নিজের মন্তব্য এবং তার পোস্টগুলিতে রেখে যাওয়া মন্তব্যগুলি দেখতে চাই।

আমি কীভাবে এটি ফিল্টার করতে পারি?

উত্তর:


9

এই 3 টির কোনওটি আপনাকে সহায়তা করবে:

//Before getting the comments, on the WP_Comment_Query object for each comment
add_action('pre_get_comments', 'wpse56652_filt_comm');

//Applied on the comments SQL Query, you can modify the 'Where' part of the query
add_filter('comments_clauses', 'wpse56652_filt_comm');

//After the comments are fetched, you can modify the comments array
add_filter('the_comments', 'wpse56652_filt_comm');

function wpse56652_filt_comm($param) {
    //access the current user
    global $current_user;
    get_currentuserinfo();

    //current users id = $current_user->ID;

    //Current users posts, check get_posts params to change as per your need
    $user_posts = get_posts(array('author' => $current_user->ID, 'posts_per_page' => -1));

    echo '<pre>';
    print_r($param);
    echo '</pre>';

    return $param;
}

অতিরিক্তভাবে আপনি global $pagenowএই পৃষ্ঠায় কোডটি চালিত হয় তা নিশ্চিত করতে ব্যবহার করতে পারেন ।

দুঃখিত, আমি আজকে অসুস্থ, তাই একটি উদাহরণ লিখতে পারিনি! ;)

সম্পাদনা:

/**
 * Show only the Comments MADE BY the current logged user
 * and the Comments MADE TO his/hers posts.
 * Runs only for the Author role.
 */

add_filter('the_comments', 'wpse56652_filter_comments');

function wpse56652_filter_comments($comments){
    global $pagenow;
    global $user_ID;
    get_currentuserinfo();
    if($pagenow == 'edit-comments.php' && current_user_can('author')){
        foreach($comments as $i => $comment){
            $the_post = get_post($comment->comment_post_ID);
            if($comment->user_id != $user_ID  && $the_post->post_author != $user_ID)
                unset($comments[$i]);
        }
    }
    return $comments;
}

উত্তরের জন্য আপনাকে ধন্যবাদ - মাত্র কয়েক ঘন্টা আগে আমি আপনার ব্লগে পোস্টগুলির জন্য এই জাতীয় সমস্যা সমাধানের জন্য নিবন্ধটি পেয়েছি! আমি এমনকি মন্তব্যগুলির জন্য প্যারামগুলি পাই তবে আমি বর্তমান লগড ব্যবহারকারীর আইডি সেট করতে জানি না। আমি যদি কেবল তার মন্তব্য দেখাতে চাই তবে আমি তার আইডি ব্যবহার করতে পারি তবে আমি তার পোস্টগুলিতে মন্তব্যও দেখাতে চাই। এটা কিভাবে করা যায়?
মুনাভাডার

আপনাকে স্বাগতম! এখনই উত্তরটি পরীক্ষা করে দেখুন, আমি এটি আপডেট করেছি।
রটউইক গাঙ্গুরদে

এখন এটি
ডাব্লুপি

কারণ আপনাকে মন্তব্যগুলি ফিল্টার করতে হবে! আমি পরীক্ষার জন্য সেই মুদ্রণ_আর রেখেছি!
রটউইক গাঙ্গুরদে

এই ফিল্টারিং wpse56652_filt_comm ফাংশন ভিতরে করা উচিত? আপনি কীভাবে আমাকে আইডি = 4 দিয়ে কেবল ব্যবহারকারীদের মন্তব্য দেখানোর জন্য একটি উদাহরণ দেখিয়ে দিতে পারেন?
মুনাভাডার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.