Customizer (Appearance → Customize) হলো ছোট, সাইট-জোড়া সেটিংসের জন্য WordPress-এর বিল্ট-ইন স্ক্রিন, সেটিংস প্যানেলের পাশে একটি live preview সহ। একটি কাস্টম থিম এতে নিজের সেটিংস যোগ করতে পারে — একটি সেকেন্ডারি লোগো, একটি ফোন নাম্বার, একটি সোশ্যাল লিংক — এমন যেকোনো কিছু যা একটি একক মান, পাতা-প্রতি কন্টেন্টের বদলে সাইট-জোড়া ব্যবহৃত।
<?php
function mytheme_customize_register( $wp_customize ) {
$wp_customize->add_section( 'mytheme_contact', [
'title' => __( 'Contact Info', 'mytheme' ),
'priority' => 30,
] );
$wp_customize->add_setting( 'mytheme_phone' );
$wp_customize->add_control( 'mytheme_phone', [
'label' => __( 'Phone Number', 'mytheme' ),
'section' => 'mytheme_contact',
'type' => 'text',
] );
}
add_action( 'customize_register', 'mytheme_customize_register' );তিনটি অংশ, সবসময় এই ক্রমে: একটি section সম্পর্কিত সেটিংসকে একটি হেডিংয়ের নিচে গ্রুপ করতে, একটি setting আসল মান সংরক্ষণ করতে, আর একটি control সেই সেটিংকে প্যানেলে একটি ইনপুট ফিল্ড দিতে। একটি ইমেজ আপলোড একইভাবে কাজ করে, একটি সাধারণ টেক্সট কন্ট্রোলের বদলে WP_Customize_Image_Control ব্যবহার করে।
<?php $phone = get_theme_mod( 'mytheme_phone' ); ?>
<?php if ( $phone ) : ?>
<a href="tel:<?php echo esc_attr( preg_replace( '/[^\d+]/', '', $phone ) ); ?>"><?php echo esc_html( $phone ); ?></a>
<?php endif; ?>get_theme_mod() যা সংরক্ষিত হয়েছে তা পড়ে — সেটিং কখনো সেট না হলে এটি false (বা আপনার নিজের বেছে নেওয়া ডিফল্ট, দ্বিতীয় আর্গুমেন্ট হিসেবে পাস করা) রিটার্ন করে, তাই মান ব্যবহারের আগে চেক করা সবসময়ই ভালো।
কখন এর বদলে SCF ব্যবহার করবেন
Customizer সত্যিই কয়েকটা ছোট, গ্লোবাল সেটিংসের জন্য সঠিক টুল — কিন্তু এর বাইরে এটি ভালোভাবে স্কেল করে না। ডজনখানেক ফিল্ডসহ একটি সেটিংস স্ক্রিন, রিপিটেবল কন্টেন্ট, বা আরও গঠনবদ্ধ কিছু এর বদলে একটি SCF options page-এর জায়গা, এই অংশে পরে কাভার করা হবে — এটি ঠিক সেই কেসের জন্য বানানো, আরও অনেক সমৃদ্ধ ফিল্ড টাইপ সহ।
সাইট-জোড়া ফ্রেম — header, footer, মেনু, ছোট সেটিংস — সব কাভার হয়ে যাওয়ার পর, পরের পাঠ এই অংশের প্রথম ভাগ শেষ করে: চিরদিনের জন্য ব্লক এডিটর বন্ধ করা, যাতে প্রতিটি কন্টেন্ট স্ক্রিন এই অংশ শুরু থেকে যেভাবে ধরে নিয়েছে সেভাবেই আচরণ করে।