বাংলায় WordPress Plugin Development – পর্ব ০৫

Ads Inside Post

বাংলায় WordPress Plugin Development – পর্ব ০৫

আসালামু ওয়ালাইকুম,
আমি তানভীর হোসেন
আপনাদের মাঝে প্লাগিন ডেভোলপমেন্ট এর টিউটোরিয়াল নিয়ে এসেছি। আপনারা অনেকেই এই বিষয় শিখতে আগ্রহী আমি বিগত সিরিজে একটি থিম ডেভেলপমেন্ট করেছি এবং সেটিকে একটি পূর্নাঙ্গ ব্যবহারের জন্য ডিজাইন
করেছি। তবে কিছু কাজ সম্পাদনা করা বাকি রয়েছে সেগুলো হলেই আমি থিম ডেভেলপমেন্ট এর ২য় সিরিজটি লঞ্চ করবো। এর মধ্যে দিয়ে যে সময়টুকু পাচ্ছি তাতে আপনাদের ওয়ার্ডপ্রেস এর জন্য একটি গুরুত্বপূর্ণ প্লাগিন ডেভোলপ করা শিখাব। যা ওয়েব সাইটের স্পিড এসইও ও অন্যান্য কাজে সাহায্য করবে।
প্লাগিনটা কিছুটা WP Optimizer এর মতো।
এই বলে আমি আমার উদ্দেশ্য প্রনোদিত করেছি।
কোড কপি করতে সমস্যা হলে

সরাসরি কোড গুলো এখান থেকে কপি করে নিন।

ওয়ার্ডপ্রেস প্লাগিন ডেভেলপমেন্ট: ডেটাবেজ অপ্টিমাইজেশন (পর্ব ৫)

আগের পর্বগুলাতে আমরা বেসিক ফাইল স্ট্রাকচার, অ্যাডমিন মেনু, ইমেজ অপ্টিমাইজেশন, এবং CSS ও JS ফাইল মিনিফিকেশন নিয়ে কাজ করেছিলাম। আজকের পর্বে আমরা আরও গভীরে গিয়ে ডেটাবেজ অপ্টিমাইজেশন নিয়ে কাজ করবো।

ওয়ার্ডপ্রেস সাইটের পারফরম্যান্স উন্নত করার জন্য ডেটাবেজ অপ্টিমাইজেশন খুব গুরুত্বপূর্ণ। সময়ের সাথে সাথে অপ্রয়োজনীয় ডেটা জমে সাইটকে স্লো করে ফেলে। ডেটাবেজ ক্লিনআপ করে আমরা সাইটের গতি বাড়াতে পারি।


পর্ব ৫-এর লক্ষ্য

এই পর্বে আমরা যা শিখবো:

  1. ডেটাবেজ অপ্টিমাইজেশন কেন দরকার।
  2. ওয়ার্ডপ্রেসে ডেটাবেজের সাধারণ সমস্যা।
  3. প্লাগিন দিয়ে ডেটাবেজ ক্লিনআপ ফিচার যোগ করা।
  4. ডেটাবেজ অপ্টিমাইজ করার সঠিক পদ্ধতি।

ডেটাবেজ অপ্টিমাইজেশন: প্রয়োজনীয়তা

  • রিভিশন জমা হওয়া: পোস্ট এডিট করার সময় প্রতিবার রিভিশন জমা হয়। এতে অপ্রয়োজনীয় ডেটা বাড়ে।
  • ডিলিটেড ডেটা: ডিলিট করা পোস্ট, পেজ, কমেন্টস ইত্যাদি ডেটাবেজে জমা থাকে।
  • অপ্রয়োজনীয় ট্রান্সিয়েন্টস: টেম্পরারি ডেটা, যা মেয়াদ শেষ হলেও ডেটাবেজে রয়ে যায়।
  • স্প্যাম কমেন্টস: স্প্যাম বা পেন্ডিং কমেন্টস জমে ডেটাবেজ ভারী হয়।

স্টেপ ১: নতুন ফাইল তৈরি করা

আমরা একটি নতুন ফাইল তৈরি করবো: includes/db-optimization.php। এখানে ডেটাবেজ অপ্টিমাইজেশনের কাজ হবে।

<?php

// Add menu for database optimization
add_action('admin_menu', 'speed_optimizer_db_menu');

function speed_optimizer_db_menu() {
    add_submenu_page(
        'speed-optimizer',
        'Database Optimization',
        'DB Optimization',
        'manage_options',
        'speed-optimizer-db',
        'speed_optimizer_db_page'
    );
}

// Admin page for database optimization
function speed_optimizer_db_page() {
    ?>
    <div class="wrap">
        <h1>Database Optimization</h1>
        <p>Optimize your database to remove unnecessary data and improve performance.</p>
        <form method="post">
            <?php wp_nonce_field('speed_optimizer_optimize_db', 'speed_optimizer_nonce'); ?>
            <input type="submit" name="optimize_db" value="Optimize Now" class="button button-primary">
        </form>
    </div>
    <?php

    if (isset($_POST['optimize_db']) && check_admin_referer('speed_optimizer_optimize_db', 'speed_optimizer_nonce')) {
        speed_optimizer_optimize_db();
    }
}

// Function to optimize database
function speed_optimizer_optimize_db() {
    global $wpdb;

    // Delete revisions
    $wpdb->query("DELETE FROM $wpdb->posts WHERE post_type = 'revision'");

    // Delete trashed posts
    $wpdb->query("DELETE FROM $wpdb->posts WHERE post_status = 'trash'");

    // Delete spam and trashed comments
    $wpdb->query("DELETE FROM $wpdb->comments WHERE comment_approved = 'spam' OR comment_approved = 'trash'");

    // Delete expired transients
    $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE '_transient_%' AND option_value < NOW()");

    echo '<div class="updated"><p>Database optimized successfully!</p></div>';
}

স্টেপ ২: মেইন ফাইলে ফাংশন ইন্টিগ্রেশন করা

speed-optimizer.php ফাইলে নিচের লাইন যোগ করুন:

require_once plugin_dir_path(__FILE__) . 'includes/db-optimization.php';

স্টেপ ৩: ডেটাবেজ ক্লিনআপ অপশন তৈরি করা

আমরা অ্যাডমিন প্যানেলে একটি সাবমেনু তৈরি করলাম, যেখানে ইউজাররা ক্লিক করেই ডেটাবেজ অপ্টিমাইজ করতে পারবে।

কোড ব্যাখ্যা:

  1. speed_optimizer_db_menu: সাবমেনু অ্যাড করে।
  2. speed_optimizer_db_page: ডেটাবেজ অপ্টিমাইজেশন পেজ তৈরি করে।
  3. speed_optimizer_optimize_db: ডেটাবেজ থেকে অপ্রয়োজনীয় ডেটা মুছে ফেলে।

স্টেপ ৪: অপ্টিমাইজেশন টেস্ট করা

  1. প্লাগিন অ্যাকটিভ করুন।
  2. অ্যাডমিন প্যানেলে DB Optimization মেনুতে যান।
  3. Optimize Now বাটনে ক্লিক করুন।
  4. ডেটাবেজ অপ্টিমাইজেশনের কনফার্মেশন মেসেজ দেখুন।

ডেটাবেজ অপ্টিমাইজেশন কীভাবে কাজ করে

আমাদের ফাংশনগুলো ওয়ার্ডপ্রেসের $wpdb ক্লাস ব্যবহার করে সরাসরি ডেটাবেজে কাজ করে।

  • রিভিশন ডিলিট করা: পোস্টের পুরনো সংস্করণ মুছে ফেলে।
  • স্প্যাম কমেন্টস ডিলিট করা: অপ্রয়োজনীয় কমেন্টস মুছে ফেলে।
  • ট্রান্সিয়েন্ট ডিলিট করা: মেয়াদ শেষ হওয়া ডেটা মুছে ফেলে।

স্টেপ ৫: ডেটাবেজ অপ্টিমাইজেশন সিকিউরিটি

ডেটাবেজ অপ্টিমাইজেশনের সময় সিকিউরিটির বিষয় মাথায় রাখতে হবে।

  1. wp_nonce_field ব্যবহার করেছি, যাতে CSRF অ্যাটাক প্রতিরোধ হয়।
  2. ইউজার পারমিশন চেক করেছি manage_options ক্যাপাবিলিটির মাধ্যমে।

পর্ব ৫-এর সংক্ষিপ্তসার

এই পর্বে আমরা শিখলাম:

  1. ওয়ার্ডপ্রেস ডেটাবেজ অপ্টিমাইজেশন কেন গুরুত্বপূর্ণ।
  2. প্লাগিনের মাধ্যমে রিভিশন, স্প্যাম কমেন্টস, এবং অপ্রয়োজনীয় ডেটা ক্লিনআপ করা।
  3. ডেটাবেজ অপ্টিমাইজেশনের জন্য সিকিউরিটি প্রটোকল ফলো করা।

পরবর্তী পর্বে:
আমরা অটো স্ক্রিপ্টিং এবং স্কেডিউল করা নিয়ে কাজ করবো। এর মাধ্যমে ডেটাবেজ ক্লিনআপ এবং অন্যান্য ফিচার অটোমেটিক্যালি কাজ করবে।

পর্ব ৬-এ দেখা হবে!

Telegram IconMy Telegram

The post বাংলায় WordPress Plugin Development – পর্ব ০৫ appeared first on Trickbd.com.






একটি মন্তব্য পোস্ট করুন

0 মন্তব্যসমূহ