Skip to main content

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

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

ওয়ার্ডপ্রেস প্লাগিন ডেভেলপমেন্ট: কাস্টমাইজড সেটিংস পেজ এবং ক্রন জব ইন্টারফেস (পর্ব ৭)

গত পর্বে আমরা শিখেছি কীভাবে ডেটাবেজ ক্লিনআপ এবং ইমেইল নোটিফিকেশন অটোমেট করা যায়। আজকের পর্বে আমরা প্লাগিনে একটি কাস্টম সেটিংস পেজ তৈরি করবো, যেখানে ইউজাররা তাদের প্রয়োজনমতো ক্রন জব ইন্টারভাল এবং অন্যান্য সেটিংস কাস্টমাইজ করতে পারবে।


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

১. কাস্টমাইজড সেটিংস পেজ তৈরি করা।
২. ক্রন জব ইন্টারভাল পরিবর্তন করার ফিচার যুক্ত করা।
৩. ইউজারদের জন্য সহজে ব্যবহারযোগ্য একটি ইন্টারফেস তৈরি করা।


স্টেপ ১: কাস্টম সেটিংস পেজ তৈরি

প্রথমে আমরা প্লাগিনে একটি সেটিংস মেনু তৈরি করবো, যা অ্যাডমিন প্যানেলে প্রদর্শিত হবে।

কোড যোগ করুন includes/settings-page.php ফাইলে:

<?php

function speed_optimizer_add_settings_page() {
    add_menu_page(
        'Speed Optimizer Settings',  // পেজের নাম
        'Optimizer Settings',       // মেনু টাইটেল
        'manage_options',           // কেবল অ্যাডমিন দেখতে পারবে
        'speed-optimizer-settings', // স্লাগ
        'speed_optimizer_render_settings_page', // কলব্যাক ফাংশন
        'dashicons-admin-generic',  // আইকন
        80                          // অবস্থান
    );
}
add_action('admin_menu', 'speed_optimizer_add_settings_page');

// Render Settings Page
function speed_optimizer_render_settings_page() {
    ?>
    <div class="wrap">
        <h1>Speed Optimizer Settings</h1>
        <form method="post" action="options.php">
            <?php
            settings_fields('speed_optimizer_settings');
            do_settings_sections('speed-optimizer-settings');
            submit_button();
            ?>
        </form>
    </div>
    <?php
}

স্টেপ ২: সেটিংস ফিল্ড নিবন্ধন করা

ইউজারদের জন্য ফিল্ড তৈরি করতে হবে যেখানে তারা তাদের ক্রন জব ইন্টারভাল সেট করতে পারবে।

কোড যুক্ত করুন includes/settings-page.php ফাইলে:

function speed_optimizer_register_settings() {
    register_setting('speed_optimizer_settings', 'speed_optimizer_cron_interval');

    add_settings_section(
        'speed_optimizer_main_settings',
        'Main Settings',
        null,
        'speed-optimizer-settings'
    );

    add_settings_field(
        'speed_optimizer_cron_interval',
        'Cron Job Interval',
        'speed_optimizer_cron_interval_callback',
        'speed-optimizer-settings',
        'speed_optimizer_main_settings'
    );
}
add_action('admin_init', 'speed_optimizer_register_settings');

function speed_optimizer_cron_interval_callback() {
    $interval = get_option('speed_optimizer_cron_interval', 'daily');
    ?>
    <select name="speed_optimizer_cron_interval">
        <option value="hourly" <?php selected($interval, 'hourly'); ?>>Hourly</option>
        <option value="twicedaily" <?php selected($interval, 'twicedaily'); ?>>Twice Daily</option>
        <option value="daily" <?php selected($interval, 'daily'); ?>>Daily</option>
    </select>
    <?php
}

স্টেপ ৩: ক্রন জব ইন্টারভাল কাস্টমাইজ করা

ইউজারদের নির্ধারিত ইন্টারভাল অনুযায়ী ক্রন জব রিসেট করতে হবে।

কোড যোগ করুন includes/db-automation.php ফাইলে:

function speed_optimizer_reset_cron_schedule() {
    $interval = get_option('speed_optimizer_cron_interval', 'daily');

    // Remove existing schedule
    wp_clear_scheduled_hook('speed_optimizer_cleanup_event');

    // Add new schedule
    if (!wp_next_scheduled('speed_optimizer_cleanup_event')) {
        wp_schedule_event(time(), $interval, 'speed_optimizer_cleanup_event');
    }
}
add_action('update_option_speed_optimizer_cron_interval', 'speed_optimizer_reset_cron_schedule');

স্টাইলিং অ্যাড করা

সেটিংস পেজকে সুন্দর করার জন্য কিছু সিএসএস যোগ করা যায়।

কোড যুক্ত করুন assets/css/admin-style.css ফাইলে:

.wrap h1 {
    color: #333;
    font-size: 24px;
    font-weight: bold;
}

form select {
    padding: 8px;
    font-size: 16px;
    margin-top: 10px;
}

স্টেপ ৪: স্ক্রিপ্ট লোড করা

মেইন ফাইলে যোগ করুন:

function speed_optimizer_admin_assets() {
    wp_enqueue_style('speed-optimizer-admin-style', plugin_dir_url(__FILE__) . 'assets/css/admin-style.css');
}
add_action('admin_enqueue_scripts', 'speed_optimizer_admin_assets');

পরীক্ষা করে দেখুন

১. আপনার অ্যাডমিন প্যানেলে "Optimizer Settings" নামে একটি নতুন মেনু আসবে।
২. এখানে গিয়ে ক্রন জব ইন্টারভাল পরিবর্তন করুন।
৩. প্লাগিনটি সেভ করার পর ক্রন জব সেটআপ রিসেট হয়ে যাবে।


অটোমেটেড ও ব্যবহারকারী-বান্ধব ফিচার

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


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

১. আমরা একটি কাস্টম সেটিংস পেজ তৈরি করলাম।
২. ইউজাররা ক্রন জব ইন্টারভাল পরিবর্তন করতে পারবে।
৩. নতুন সেটিংস অনুযায়ী ক্রন জব রিসেট হবে।

পরবর্তী পর্বে (পর্ব ৮):
আমরা শিখবো কীভাবে Lazy Load ফিচার প্লাগিনে যুক্ত করা যায়। এটি ওয়েবসাইটের পারফরম্যান্স বৃদ্ধিতে সহায়তা করবে।

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

Telegram IconMy Telegram

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



source https://trickbd.com/wordpress/3015237

Comments

Popular posts from this blog

ফরেক্স ট্রেডিং (Forex Trading) কি? ফরেক্স ট্রেডিং কিভাবে করে জেনে নিন

বর্তমান সময়ে অনলাইন ইনকাম দিন দিন বৃদ্ধি পাচ্ছে। অনলাইন ইনকাম জগতের একটি জনপ্রিয় সেক্টর হলো ফরেক্স ট্রেডিং। হয়তো অনেকেই অনলাইনে ইনকাম করার উপায় খুঁজতে গিয়ে ফরেক্স ট্রেডিং সম্পর্কে শুনেছেন। কিন্তু সেটা নিয়ে বিস্তারিত হয়তো জানেন না। তাই যারা ফরেক্স ট্রেডিং সম্পর্কে জানেন না তাদের জন্য আজকের এই পোস্টটি। আজকের পোস্টের মাধ্যমে আমরা ফরেক্স ট্রেডিং সম্পর্কে বিস্তারিত জানব। তাহলে চলুন শুরু করি… • ফরেক্স ট্রেডিং (Forex Trading) কি? ফরেক্স ট্রেডিং এর ফরেক্স এর মানে হলো ফরেন এক্সচেঞ্জ। যার মানে দাঁড়ায় বিভিন্ন দেশের বৈদেশিক মুদ্রা লেনদেন। সহজ ভাষায় বলতে গেলে, বৈদেশিক মুদ্রা লেনদেন আদান-প্রদান কেই ফরেক্স ট্রেডিং বলে। ২০১৯ সালের এপ্রিল মাসের হিসাব অনুযায়ী বিশ্বব্যাপী প্রতিদিন ৬.৬ ট্রিলিয়ন ফরেন এক্সচেঞ্জ সেটেলমেন্ট করা হয়েছে। এছাড়া ফরেক্স মার্কেটপ্লেস হচ্ছে পৃথিবীর সবচেয়ে বড় ফাইন্যান্সিয়াল মার্কেটপ্লেস। • ফরেক্স ট্রেডিং কিভাবে কাজ করে: ধরুন আপনি বাংলাদেশ থেকে আমেরিকা থেকে একটি প্রোডাক্ট আনতে চাচ্ছেন। কিন্তু সেই প্রোডাক্টের দাম পে করতে হবে ডলারে। কিন্তু আপনার কাছে আছে বাংলাদেশি ...

ডাউনলোড করে নিন Uncharted (2022) মুভিটা [HDCAMRip]

কীভাবে একটি ভিডিও গেমের উপর ভিত্তি করে একটি চলচ্চিত্র গেমের চেয়ে বেশি প্রাণহীন হয়? গেমিং জগতের বিরুদ্ধে নক দীর্ঘকাল ধরে হয়েছে যে তাদের মধ্যে মানবিক উপাদানের অভাব রয়েছে, তবে রুবেন ফ্লেশারের “আনচার্টেড” পুরস্কার বিজয়ী ফ্র্যাঞ্চাইজির চেয়ে খালি বোধ করেযার উপর ভিত্তি করে। সবুজ পর্দার বিশেষ প্রভাব এবং পাতলা ট্রেজার-হন্ট প্লটিংয়ের দ্বারা আধিপত্য, “আনচার্টেড”-এ মৌলিকভাবে অ্যাডভেঞ্চারের অনুভূতির অভাব রয়েছে যা Sony গেমগুলিকে সর্বকালের সবচেয়ে প্রিয় কিছুতে পরিণত করেছে। সবচেয়ে চমকপ্রদ বিষয় হল প্রকৃত সিনেমার চেয়ে গেমগুলিকে বিশ্ব নির্মাণ, চরিত্র এবং বর্ণনার পরিপ্রেক্ষিতে কতটা সিনেমাটিক মনে হয়। এটি কিছু ভিডিও গেম অভিযোজনের মতো বিপর্যয়কর নয়, এবং এটি অন্ততপক্ষে এটির পায়ে যথেষ্ট হালকা যে এটির ফ্যান বেসের বুদ্ধিমত্তাকে কখনই অপমান করতে পারে না কারণ এই সিনেমাগুলির অনেকগুলিই করে। যাইহোক, “আনচার্টেড” নাথান ড্রেকের ভিডিও গেম অ্যাডভেঞ্চারের সদিচ্ছাকে নিজের মতো করে তৈরি করতে চায় বলে মনে হয়; এটি কোন ঝুঁকি নেয় না এবং গল্প বলার ক্ষেত্রে একটি খালি ন্যূনতম প্রচেষ্টার মতো অনুভব করে। রজার বিখ্যাতভাব...

আবারো ফেইসবুকে নিন আনলিমিটেড ফলোয়ার

আসসালামু আলাইকুম। সবাই আমার সালাম নিবেন। আশা করি আপনারা সবাই আল্লাহর রহমতে ভালো আছেন। আমি ও ভালো আছি। তো বন্ধুরা আমি আপনাদের কাছে নিয়ে এসেছি এমন একটি এপ যার মাধ্যম আপনারা আপনার আইডিতে যত চান ফলোয়ার বাড়াতে পারবেন। তো শুরু করা যাক…. ফেসবুক হচ্ছে বিশ্বের সর্ব বৃহৎ সামাজিক যোগাযোগ মাধ্যম ওয়েবসাইট। ইন্টারনেট ব্যবহার করে অথচ তার ফেসবুক একাউন্ট নেই এমন মানুষ খুঁজে পাওয়া দুষ্কর। আমরা কম বেশি সবাই ফেসবুক ব্যবহার করে থাকি। আর সবাই চেষ্টা করি আমাদের ভার্চুয়াল লাইফটাকে সবার থেকে ভিন্ন ভাবে উপস্থাপন করতে। আর তার জন্য কতো কিছুই না করি! কিভাবে ফ্যান, ফলোয়ার বাড়ানো যায় কিংবা নিজের ফেসবুক প্রফাইলটাকেও চেষ্টা করি একটু ভিন্ন রূপে সাজাতে। আপনি অবশ্যই ফেসবুক অটো ফলোয়ারের কথা শুনেছেন! আর এই সামান্য কিছু ফেসবুক অটো লাইক, ফেসবুক অটো ফ্রেন্ড রিকুয়েস্ট, ফেসবুকে অটো কমেন্ট, ফেসবুক পেজে অটো লাইক কিংবা অটো ফলোয়ার নিতে অনেকেই আবার নিজের স্বাধের ফেসবুক আইডিটি তুলে দেয় থার্ড পার্টি কোনো ওয়েবসাইটের হাতে। তবে আজকে আমি আপনাদের কে শিখাবো কিভাবে আপনার ফেসবুকে প্রফাইলে আনলিমিটেড ফলোয়ার নিবেন। তবে এটা কোনো অনিরাপদ উপ...