আসুন ওয়ার্ডপ্রেসের ড্যাশ বোর্ড পরিস্কার করি

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

ধাপ একঃ প্রথমে আপনার থীমের functions.php ফাইলে এ ২টি ফাংশন লিখতে হবে। মনে রাখবেন প্লাগিন এর কোডগুলো চাইলে functions.php ফাইলেও লেখা যায়। তাহলে শুরু করা যাকঃ

    //Define the function which unsets the boxes
    function remove_dashboard_widgets() {
            global $wp_meta_boxes;
            myprint_r($wp_meta_boxes);
            /*
            //unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
            # Remove plugins feed
            unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
            unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_plugins']);
            # Remove "WordPress News"
            unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_primary']);
            unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
            unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_secondary']);
            unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
            # Remove incoming links feed
            unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
            unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_incoming_links']);

            unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);
            unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
            unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
            unset($wp_meta_boxes['dashboard']['normal']['core']['events_dashboard_window']);
           */
    }
    // Now hook in to the action
    add_action('wp_dashboard_setup', 'remove_dashboard_widgets', 20, 0);

    //better print_r function taken from
    //http://stackoverflow.com/questions/1386331/php-print-r-nice-table
    function myprint_r($my_array) {
        if (is_array($my_array)) {
            echo "<table border=1 cellspacing=0 cellpadding=3 width=100%>";
            echo '<tr><td colspan=2 style="background-color:#333333;"><strong><font color=white>ARRAY</font></strong></td></tr>';
            foreach ($my_array as $k => $v) {
                    echo '<tr><td valign="top" style="width:40px;background-color:#F0F0F0;">';
                    echo '<strong>' . $k . "</strong></td><td>";
                    myprint_r($v);
                    echo "</td></tr>";
            }
            echo "</table>";
            return;
        }
        echo $my_array;
    }


ড্যাসবোর্ড এর বক্স বা উইডগেট গুলো একটা গ্লোবাল ভেরিয়েবল $wp_meta_boxes (টাইপ এরে) এ থাকে । এটা একটা মাল্টিডাইমেনশনাল এরে। যদি উপরের কোডটা লিখে ওয়ার্ডপ্রেসের এডমিন প্যানেলে প্রবেশ করেন তাহলে এই ছবির মতো দেখতে পারবেন।

দুইঃ এখন আমরা এটা দেখে দেখে বক্স বা উইডগেট গুলো বন্ধ করবো
এখন আমরা remove_dashboard_widgets ফাংশনের কমেন্ট করা অংশ এক্টিভ করবো এবং দরকারে myprint_r($wp_meta_boxes); লাইনটা কমেন্ট করে দেবো।

    //Define the function which unsets the boxes
    function remove_dashboard_widgets() {
            global $wp_meta_boxes;
            //myprint_r($wp_meta_boxes);
            //var_dump('<pre>'.$wp_meta_boxes.'</pre>');

            //unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
            # Remove plugins feed
            unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
            unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_plugins']);
            # Remove "WordPress News"
            unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_primary']);
            unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
            unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_secondary']);
            unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
            # Remove incoming links feed
            unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
            unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_incoming_links']);

            unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);
            unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
            unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
            //unset($wp_meta_boxes['dashboard']['normal']['core']['events_dashboard_window']);

    }

তিনঃ অনেক সময় নতুন প্লাগিন ড্যাশবোর্ড এ নতুন বক্স যুক্ত করে যা আমরা ধাপ এক এর মতো দেখে দেখে বন্ধ করে দিতে পারি। তবে এই কাজের জন্য দরকার হবে সামান্য পিএইচপি জ্ঞান 😕

চারঃ
ভাবছি একটা প্লাগিন নামিয়ে ফেলবো যেখান থেকে কি কি বক্স আছে তা ইচ্ছা মতো বন্ধ করা যাবে আবার দরকার এক্টিভেট করে দেওয়া যাবে।
কেউ চাইলে আমার সাথে এই প্লাগিন এর কাজে অংশ নিতে পারেন। আমি আইডিয়া এবং কোড স্যাম্পেল দিয়ে দেবো শুরু করার জন্য এবং আপনাকে বাদ বাকী কাজটা সারতে হবে।

লেখাটি আমাদের প্রযুক্তি ফোরামে পূর্বে প্রকাশিত।

8 Responses to “আসুন ওয়ার্ডপ্রেসের ড্যাশ বোর্ড পরিস্কার করি”

  1. খুবই সুন্দর একটি পোষ্ট দাদা।
    সিএমএস এর প্রতি আমার তেমন আগ্রহ ছিলনা এতদিন । ৪-৫ দিন ধরে ওয়ার্ডপ্রেস নিয়ে একটু নারাচারা করছি, আপনার টিউটরিয়াল গুলো আমাকে যেন হাত ধরে নিয়ে যাচ্ছে । 😛

  2. জটিল পোস্ট দাদা! আসলেই অনেক কাজের, ওয়ার্ডপ্রেস এর আজেবাজে ড্যাশবোর্ড এর বক্স গুলোকে ছুটি দেয়া অনেক প্রয়োজন ছিল। 🙂

  3. আমার ওয়ার্ডপ্রেসে প্লুগাইন্স কিভাবে বানাতে হয় তা শিখার খুব ইচ্ছা ৷ দয়া করে এব্যাপারে একটি টিউটোরিয়াল দিলে খুব ভাল হয়।

  4. দাদা একটু ভালো হয় যদি প্লাগিনের বিকল্প হিসেবে থিম ফাইলে শুধু কোড বসিয়ে কাজ করা যায় এমন কোন পোস্ট দিলে। যেমন- রিলেটেড পোস্ট, জনপ্রিয় পোস্ট, সর্বোচ্চ লেখক ও মন্তব্যকারী ইত্যাদি প্লাগিন ব্যবহার না করে কিভাবে ওয়ার্ডপ্রেস ব্লগে যুক্ত করা যায় এ বিষয়ে একটু বিষদ লিখলে আমাদের জন্য বেশ ভালো হত।

Leave a Reply

Your email address will not be published. Required fields are marked *