কাস্টম তালিকা টেবিল শ্রেণিতে বাল্ক ক্রিয়াগুলি কীভাবে পরিচালনা করা হয়?


9

আমি ওয়ার্ডপ্রেস ড্যাশবোর্ডে প্রদর্শিত একটি কাস্টম ডেটা টেবিলের উপর কাজ করছি। টেবিলটি একটি প্লাগইনে আমি তৈরি করা একটি ডেটাবেস টেবিল থেকে পপুলেটে।

আমি এই অঞ্চলে আমার বেশিরভাগ কোডিং প্রশ্নের জন্য প্রদত্ত ওয়ার্ডপ্রেস কাস্টম তালিকা সারণীর উদাহরণ ব্যবহার করছি, তবে উদাহরণটিতে বাল্ক অ্যাকশন পরিচালনার জন্য কিছুই নেই anything নথিভুক্ত উদাহরণের জন্য এখানে লিঙ্কটি দেওয়া হয়েছে: http://wordpress.org/extend/plugins/custom-list-table-example/

বাল্ক ক্রিয়া প্রক্রিয়াকরণের জন্য, উদাহরণটি কেবল এটি সরবরাহ করে:

    function process_bulk_action() {

    //Detect when a bulk action is being triggered...
    if( 'delete'===$this->current_action() ) {

        wp_die('Items deleted!');
    }

}

আমি ক্রিয়াটির জন্য নির্বাচিত আইটেমগুলি কীভাবে টেনে আনতে চাই তা যাতে আমি সেগুলি মুছতে পারি বা সেই অনুযায়ী তাদের ডাটাবেস এন্ট্রিগুলি সম্পাদনা করতে পারি।

উত্তর:


11

ধরে নেওয়া যাক আপনি স্ট্যান্ডার্ড কলাম_সিবি () ফাংশনটি ব্যবহার করছেন, তালিকা সারণী table _GET- র একটি অ্যারেতে নির্বাচিত সারিগুলির আইডিগুলি তালিকা সারণীর নির্মাতাতে আপনাকে 'একক' হিসাবে নির্ধারিত হিসাবে চিহ্নিত করবে will

এখানে একটি সাধারণ কলাম_সিবি () রয়েছে:

function column_cb($item){
        return sprintf(
            '<input type="checkbox" name="%1$s[]" value="%2$s" />',
            /*$1%s*/ $this->_args['singular'],  //Let's simply repurpose the table's singular label ("video")
            /*$2%s*/ $item->id             //The value of the checkbox should be the record's id
        );
    }

উদাহরণস্বরূপ, ধরা যাক আমার কাছে একটি তালিকা সারণী রয়েছে যা ভিডিওগুলি প্রদর্শন করে। নির্মাণকারীর মতো দেখতে হবে:

function __construct(){
        global $status, $page;

        //Set parent defaults
        parent::__construct( array(
            'singular'  => 'video',     //singular name of the listed records
            'plural'    => 'videos',    //plural name of the listed records
            'ajax'      => false        //does this table support ajax?
        ) );

    }

সুতরাং, যদি আপনি তালিকার টেবিলের তিনটি সারি পরীক্ষা করেন, বাল্ক অ্যাকশন তালিকা থেকে "মুছুন" নির্বাচন করুন এবং প্রয়োগ টিপুন, আপনি $ _GET ['ভিডিও'] ব্যবহার করে নির্বাচিত সারিগুলিতে অ্যাক্সেস করতে পারবেন।

function process_bulk_action() {

        //Detect when a bulk action is being triggered...
        if( 'delete'===$this->current_action() ) {
            foreach($_GET['video'] as $video) {
                //$video will be a string containing the ID of the video
                //i.e. $video = "123";
                //so you can process the id however you need to.
                delete_this_video($video);
            }
        }

    }

ধন্যবাদ! অন্যান্য ওয়ার্ডপ্রেস টেবিলের মতো একইভাবে কাজ করে এমন একটি "সম্পাদনা" বাল্ক অ্যাকশন কীভাবে বাস্তবায়ন করবেন সে সম্পর্কে কোনও ধারণা?
চিবুবাকা

আপনি এটি একইভাবে পরিচালনা করতে পারবেন, ইউআই বাদে আরও অনেক কিছু জড়িত except আমি সম্ভবত এই জাতীয় ক্ষেত্রে ডিফল্ট প্রক্রিয়া_বুলক_অ্যাকশনগুলি () পদ্ধতিটি ব্যবহার করব না কারণ সম্ভবত ব্যবহারযোগ্য ইন্টারফেসটি এমন একটি হবে যা গ্রিড সারিগুলি সম্পাদনযোগ্য ক্ষেত্রগুলিতে পরিবর্তন করে। সেক্ষেত্রে আপনি এখনও নির্বাচিত আইটেমগুলি $ _GET অ্যারেতে পাবেন তবে তালিকা টেবিল শ্রেণিতে এইচটিএমএল যেভাবে আউটপুট হবে সেগুলি আপনাকে ওভাররাইড করতে হবে। একটি দৃশ্যের অনেক জটিল, তবে আপনি আইডিগুলিতে অ্যাক্সেস করার উপায় একই।
নাট দুদেক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.