WordPress থিম কাস্টমাইজেশন API একটি শক্তিশালী টুল, যা থিমের কাস্টমাইজেশন সিস্টেমের মাধ্যমে ব্যবহারকারীদের থিমের বিভিন্ন সেটিংস পরিবর্তন করার অনুমতি দেয়। এই API এর মাধ্যমে আপনি থিমের বিভিন্ন অংশ কাস্টমাইজ করার জন্য নতুন সেকশন, সেটিংস এবং কন্ট্রোল যুক্ত করতে পারেন। থিম কাস্টমাইজেশন API প্রধানত থিমের UI (User Interface) এবং সেটিংস প্যানেলের সাথে সম্পর্কিত এবং এটি ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে সাহায্য করে।
থিম কাস্টমাইজেশন API এর মূল উপাদান
- Sections: এটি থিম কাস্টমাইজারে একটি নতুন সেকশন তৈরি করে, যেখানে আপনি সেটিংস বা কন্ট্রোলগুলি রাখতে পারবেন।
- Settings: থিমের জন্য বিভিন্ন সেটিংস, যেমন রঙ, ফন্ট, লেআউট কন্ট্রোল করতে এই অংশটি ব্যবহার হয়।
- Controls: সেকশনগুলির মধ্যে বিভিন্ন কন্ট্রোল যেমন স্লাইডার, বাটন, সিলেক্ট বক্স ইত্যাদি যুক্ত করা হয়।
থিম কাস্টমাইজেশন API ব্যবহার করার জন্য প্রস্তুতি
আপনি যদি থিম কাস্টমাইজেশন API ব্যবহার করতে চান, তাহলে প্রথমে একটি কাস্টম থিম তৈরি করতে হবে অথবা আপনার বিদ্যমান থিমের মধ্যে কাস্টমাইজেশন API যোগ করতে হবে। সাধারণত, থিমের functions.php ফাইলে কোড যোগ করে এই কাজটি করা হয়।
থিম কাস্টমাইজেশন API দিয়ে কাস্টম সেকশন এবং সেটিংস তৈরি
১. কাস্টম সেকশন তৈরি করা
প্রথমে, থিম কাস্টমাইজারে একটি নতুন সেকশন তৈরি করুন যেখানে আপনি সেটিংস ও কন্ট্রোলগুলো রাখবেন।
function custom_customize_register($wp_customize) {
// সেকশন তৈরি করা
$wp_customize->add_section('custom_section', array(
'title' => __('Custom Settings', 'theme_name'),
'priority' => 30,
));
}
add_action('customize_register', 'custom_customize_register');
এখানে custom_section হল নতুন সেকশনের আইডি এবং 'title' => __('Custom Settings', 'theme_name') সেটিংস প্যানেলে সেকশনের নাম।
২. কাস্টম সেটিংস যোগ করা
এখন, সেকশনে কাস্টম সেটিংস যোগ করা হবে। উদাহরণস্বরূপ, আমরা একটি টেক্সট ফিল্ড সেটিং যোগ করব।
function custom_customize_register($wp_customize) {
// সেকশন তৈরি
$wp_customize->add_section('custom_section', array(
'title' => __('Custom Settings', 'theme_name'),
'priority' => 30,
));
// সেটিংস তৈরি
$wp_customize->add_setting('custom_text_setting', array(
'default' => 'Hello, World!',
'sanitize_callback' => 'sanitize_text_field',
));
// কন্ট্রোল তৈরি
$wp_customize->add_control('custom_text_control', array(
'label' => __('Custom Text', 'theme_name'),
'section' => 'custom_section',
'settings' => 'custom_text_setting',
'type' => 'text',
));
}
add_action('customize_register', 'custom_customize_register');
এখানে:
custom_text_settingহল সেটিংস আইডি।custom_text_controlহল কন্ট্রোল আইডি।'type' => 'text'দ্বারা আমরা একটি টেক্সট ফিল্ড কন্ট্রোল যোগ করেছি।
৩. কাস্টম সেটিংস ব্যবহার করা
এখন আপনি থিমের ফাইল বা টেমপ্লেট ফাইলে আপনার কাস্টম সেটিং ব্যবহার করতে পারবেন। উদাহরণস্বরূপ, আমরা একটি টেক্সট সেটিং ব্যবহার করতে চাই:
<?php
$custom_text = get_theme_mod('custom_text_setting', 'Hello, World!');
echo '<p>' . esc_html($custom_text) . '</p>';
?>
এখানে:
get_theme_mod('custom_text_setting')ব্যবহার করে আমরা কাস্টম সেটিংয়ের মানকে রিটার্ন করছি।esc_html()ফাংশনটি ব্যবহার করে নিরাপদভাবে সেটিংটির মান প্রদর্শন করা হচ্ছে।
কাস্টম থিম কাস্টমাইজেশন API কন্ট্রোলের ধরন
WordPress থিম কাস্টমাইজেশন API এর মাধ্যমে আপনি বিভিন্ন ধরনের কন্ট্রোল তৈরি করতে পারেন, যার মধ্যে উল্লেখযোগ্য কিছু হল:
- Text Control: টেক্সট ইনপুট ফিল্ড।
- Textarea Control: মাল্টি-লাইন টেক্সট ফিল্ড।
- Select Control: ড্রপডাউন মেনু।
- Checkbox Control: চেকবক্স।
- Radio Control: রেডিও বাটন।
- Image Control: চিত্র আপলোড কন্ট্রোল।
- Color Control: রঙ নির্বাচন কন্ট্রোল।
উদাহরণ: কাস্টম রঙ সেকশন তৈরি করা
function custom_customize_register($wp_customize) {
// সেকশন তৈরি
$wp_customize->add_section('color_section', array(
'title' => __('Color Settings', 'theme_name'),
'priority' => 35,
));
// রঙ সেটিংস তৈরি
$wp_customize->add_setting('header_background_color', array(
'default' => '#ffffff',
'sanitize_callback' => 'sanitize_hex_color',
));
// রঙ কন্ট্রোল তৈরি
$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'header_background_color', array(
'label' => __('Header Background Color', 'theme_name'),
'section' => 'color_section',
'settings' => 'header_background_color',
)));
}
add_action('customize_register', 'custom_customize_register');
এই উদাহরণে একটি রঙ সেকশন এবং কন্ট্রোল তৈরি করা হয়েছে, যেখানে ব্যবহারকারী হেডারের ব্যাকগ্রাউন্ড রঙ পরিবর্তন করতে পারবেন।
থিম কাস্টমাইজেশন API এর সুবিধা
- ব্যবহারকারীর কাস্টমাইজেশন অভিজ্ঞতা: এটি ব্যবহারকারীদের সহজে থিম কাস্টমাইজ করার সুযোগ দেয়, কোডিং না জানলেও।
- সহজ ইন্টিগ্রেশন: এটি থিমের সঙ্গে সহজে ইন্টিগ্রেট করা যায় এবং থিমের ডিফল্ট কাস্টমাইজেশন UI উন্নত করে।
- থিমের অংশবিশেষ কাস্টমাইজেশন: বিশেষ অংশ যেমন লেআউট, রঙ, টেক্সট ইত্যাদি কাস্টমাইজ করা যায়, যা থিমের সামগ্রিক দর্শন পরিবর্তন করে।
থিম কাস্টমাইজেশন API এর মাধ্যমে আপনি ব্যবহারকারীদের জন্য একটি শক্তিশালী এবং ইন্টারেক্টিভ কাস্টমাইজেশন প্যানেল তৈরি করতে পারেন।
Read more