WordPress এ হুকগুলি দুটি প্রধান ধরনের হয়ে থাকে: অ্যাকশন হুকস এবং ফিল্টার হুকস। এগুলি WordPress এর কোডের নির্দিষ্ট অংশে কাস্টম কোড ইনজেক্ট করার জন্য ব্যবহৃত হয়। এখানে আমরা কিছু কমন অ্যাকশন এবং ফিল্টার হুকস এবং তাদের উদাহরণ নিয়ে আলোচনা করব।
1. অ্যাকশন হুকস (Action Hooks)
অ্যাকশন হুকগুলি একটি নির্দিষ্ট সময় বা ইভেন্টে কাজ করে। যখন সেই ইভেন্টটি ঘটে, তখন WordPress সেই হুককে কল করে এবং সংশ্লিষ্ট কাস্টম ফাংশন বা কোড চালায়।
কমন অ্যাকশন হুকস:
wp_head
থিমের<head>সেকশনে কাস্টম কোড (যেমন CSS, JavaScript) যোগ করার জন্য ব্যবহৃত হয়।উদাহরণ:
function custom_wp_head() { echo '<link rel="stylesheet" href="custom-style.css">'; } add_action('wp_head', 'custom_wp_head');wp_footer
থিমের ফুটারে কাস্টম কোড (যেমন স্ক্রিপ্ট, ট্যাক্সট) যোগ করার জন্য ব্যবহৃত হয়।উদাহরণ:
function custom_footer_code() { echo '<script src="custom-script.js"></script>'; } add_action('wp_footer', 'custom_footer_code');init
WordPress লোড হওয়ার সময় এটি চালানো হয়। এটি কাস্টম ফাংশন বা সেটিংস ইনিশিয়ালাইজ করতে ব্যবহৃত হয়।উদাহরণ:
function custom_init_function() { if (!current_user_can('administrator')) { // Do something } } add_action('init', 'custom_init_function');wp_login
ব্যবহারকারী লগইন করার পর এটি চালানো হয়। এটি লগইন ইভেন্ট ট্র্যাক করতে ব্যবহার করা যায়।উদাহরণ:
function custom_wp_login($user_login, $user) { error_log($user_login . ' logged in'); } add_action('wp_login', 'custom_wp_login', 10, 2);save_post
পোস্ট বা পেজ সংরক্ষণের সময় এটি কাজ করে। এটি ব্যবহার করে আপনি পোস্ট সংরক্ষণের পরে কিছু কোড চালাতে পারেন।উদাহরণ:
function custom_save_post($post_id) { // Custom actions on post save } add_action('save_post', 'custom_save_post');admin_menu
অ্যাডমিন প্যানেলের মেনু তৈরি করার জন্য ব্যবহৃত হয়।উদাহরণ:
function custom_admin_menu() { add_menu_page('My Custom Menu', 'Custom Menu', 'manage_options', 'custom_menu', 'custom_menu_page'); } add_action('admin_menu', 'custom_admin_menu');
2. ফিল্টার হুকস (Filter Hooks)
ফিল্টার হুকগুলি WordPress কোডের মাধ্যমে প্রবাহিত হওয়া ডেটাকে পরিবর্তন বা ফিল্টার করতে ব্যবহৃত হয়। যখন কোনো ডেটা একটি ফিল্টার হুকের মাধ্যমে চলে, তখন সেটি সংশোধিত হতে পারে এবং পরিবর্তিত ডেটা ফিরিয়ে দেওয়া হয়।
কমন ফিল্টার হুকস:
the_content
পোস্ট বা পেজ কন্টেন্ট পরিবর্তন বা কাস্টমাইজ করার জন্য ব্যবহৃত হয়।উদাহরণ:
function custom_the_content($content) { if (is_single()) { $content .= '<p>Thank you for reading!</p>'; } return $content; } add_filter('the_content', 'custom_the_content');the_title
পোস্ট বা পেজের শিরোনাম পরিবর্তন বা কাস্টমাইজ করার জন্য ব্যবহৃত হয়।উদাহরণ:
function custom_the_title($title) { return $title . ' - Custom Suffix'; } add_filter('the_title', 'custom_the_title');widget_title
উইজেটের শিরোনাম পরিবর্তন করার জন্য ব্যবহৃত হয়।উদাহরণ:
function custom_widget_title($title) { return 'Custom: ' . $title; } add_filter('widget_title', 'custom_widget_title');excerpt_length
পোস্টের এক্সসার্পট (সারাংশ) এর দৈর্ঘ্য পরিবর্তন করার জন্য ব্যবহৃত হয়।উদাহরণ:
function custom_excerpt_length($length) { return 20; // Set custom excerpt length to 20 words } add_filter('excerpt_length', 'custom_excerpt_length');upload_mimes
মিডিয়া ফাইল আপলোডের সময় সাপোর্টেড MIME টাইপের তালিকা পরিবর্তন করার জন্য ব্যবহৃত হয়।উদাহরণ:
function custom_upload_mimes($mimes) { $mimes['svg'] = 'image/svg+xml'; return $mimes; } add_filter('upload_mimes', 'custom_upload_mimes');get_search_form
সার্চ ফর্মের HTML পরিবর্তন করার জন্য ব্যবহৃত হয়।উদাহরণ:
function custom_search_form($form) { $form = '<form role="search" method="get" class="search-form" action="' . home_url('/') . '"> <label for="search">Search:</label> <input type="search" id="search" name="s"> <button type="submit">Search</button> </form>'; return $form; } add_filter('get_search_form', 'custom_search_form');
3. অ্যাকশন এবং ফিল্টার হুকস এর মধ্যে পার্থক্য
- অ্যাকশন হুকস:
- ফাংশন বা কোড ব্লককে নির্দিষ্ট স্থানে কার্যকর করতে ব্যবহৃত হয়।
- ডেটা রিটার্ন করে না, বরং কার্যক্রম সম্পাদন করে।
- উদাহরণ:
wp_head,wp_footer,init
- ফিল্টার হুকস:
- প্রবাহিত হওয়া ডেটাকে পরিবর্তন করতে ব্যবহৃত হয়।
- ডেটা রিটার্ন করে এবং সেই পরিবর্তিত ডেটা পরবর্তী প্রক্রিয়ায় ব্যবহৃত হয়।
- উদাহরণ:
the_content,the_title,widget_title
এই হুকস গুলি WordPress থিম এবং প্লাগইন ডেভেলপমেন্টে খুবই গুরুত্বপূর্ণ। এগুলোর মাধ্যমে আপনি WordPress সাইটের কার্যকারিতা কাস্টমাইজ এবং এক্সটেন্ড করতে পারেন।
Read more