শুক্রবার,  রাত ১২:৩৯  ♦  ২৮শে জুলাই, ২০১৭ ইং, ১৩ই শ্রাবণ, ১৪২৪ বঙ্গাব্দ ( বর্ষাকাল ), ৪ঠা জিলক্বদ, ১৪৩৮ হিজরী  ♦
T4B Promotion
ওয়ার্ডপ্রেস টিপস
iftekhar
  • 43 টি টিপস
About Author

আমি ইফতেখার, TiPS4BLOG এর সম্পাদক এবং লেখক। আপনাদের দারুন আর মানসম্মত টিপস নিয়মিত উপহার দেওয়াই আমার লক্ষ্য।

১ বছর ১০ মাস ২৬ দিন আগে
অ্যাডমিন প্যানেল কাস্টম কলাম
বিভাগ: ওয়ার্ডপ্রেস এপ্রিল 30, 2014  -  10:15:22 অপরাহ্ন (  ৩ বছর ২ মাস ২৯ দিন  আগে  )

ওয়ার্ডপ্রেস অ্যাডমিন প্যানেল টেবিলে একটি নতুন সর্টেবল কাস্টম কলাম যুক্ত করুন

অ-
অ+

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

বিজ্ঞাপন

রেজিস্টার কাস্টম কলাম

উদাহরণ হিসেবে আমরা ওয়ার্ডপ্রেস টিপস লিস্ট টেবিলে একটি নতুন কলাম যুক্ত করবো। এজন্য প্রথমে কাস্টম কলাম রেজিস্টার করতে হবে। এই কাজটি করার জন্য একটি ফিল্টার manage_posts_columns ব্যবহার করা হয়ে থাকে। এখন, এই ফিল্টারটি ব্যবহার করে নতুন কলাম যুক্ত করার জন্য নিচের কোডটি functions.php ফাইলে বসিয়ে দিনঃ

add_filter('manage_posts_columns', ' t4b_new_post_columns ');
function t4b_new_post_columns($columns) {
	$columns['views'] = 'Views';
	return $columns;
}

উপরের ফাংশনটিতে একটি প্যারামিটার $columns নেওয়া হয়েছে যা সকল রেজিস্টার্ড কলামের জন্য array হিসেবে কাজ করে। একটি নতুন কলাম যুক্ত করার জন্য, আমাদেরকে শুধুমাত্র একটি নতুন উপাদান যুক্ত করতে হবে এই array এর মধ্যে। উপরের কোডটিতে আমরা এই কাজটাই করেছি।

এই ফিল্টারটি ঠিকমতোই কাজ করে, কিন্তু এটি কাস্টম টিপস টাইপ সহ সকল টিপস ম্যানেজ পেজেই নতুন কলাম যুক্ত করে। সুতরাং, কেউ যদি নির্দিষ্ট টিপস টাইপ অনুযায়ী কাস্টম কলাম যুক্ত করতে চায়, তাহলে অন্য আরেকটি ফিল্টার manage_{$post_type}_posts_columns অথবা manage_edit-{$post_type}_columns ব্যবহার করতে হবে, যেখানে ‘{$post_type}’ হচ্ছে টিপসের টাইপ।

উদাহরণস্বরূপ, যদি কাস্টম টিপস টাইপ product হয়ে থাকে, তাহলে উপরের কোডটিতে ফিল্টার হবে নিম্নরূপঃ

add_filter('manage_product_posts_columns', ' t4b_new_post_columns ');

অথবা

add_filter('manage_edit-product_columns', ' t4b_new_post_columns ');

বাঁকি কোডগুলো আগের মতোই থাকবে।

অ্যাডমিন প্যানেল টেবিলের নতুন কলামে ভ্যালূ যুক্ত করা

নতুন কলাম যুক্ত করা হয়েছে, এখন আমাদের উপযুক্ত মান দ্বারা কলামটি পূরণ করতে হবে। এজন্য আমরা একটি অ্যাকশন হুক manage_posts_custom_column ব্যবহার করবো। সুতরাং, অ্যাডমিন প্যানেল টেবিলে ভ্যালূ যুক্ত করার জন্য নিচের কোডটি functions.php ফাইলে বসিয়ে দিনঃ

add_action('manage_posts_custom_column',  't4b_show_new_columns');
function t4b_show_new_columns($column_name) {
	global $post;
	switch ($column_name) {
		case 'views':
			$views = get_post_meta($post->ID, 'post_views_count', true);
			echo $views;
			break;
		default:
	}
}

উপরের ফাংশনটিতে $column_name নামে একটি প্যারামিটার ব্যবহার করা হয়েছে। আমাদেরকে এটি চেক করতে হবে, যদি এটা views (যেটা আমরা আগেই রেজিস্টার করেছি) হয়, তাহলে আমরা কাস্টম ফিল্ড ভ্যালূ পাবো এবং ভ্যালূগুলোকে নতুন কলামে প্রদর্শন করাতে পারবো।

পেজের জন্য

পেজের জন্য ফিল্টার হবে manage_pages_columns এবং অ্যাকশন হবে manage_pages_custom_column নিচের কোড অনুযায়ীঃ

add_filter('manage_pages_columns', ' t4b_new_post_columns ');

এবং

add_action('manage_pages_custom_column',  't4b_show_new_columns');

ইউজার লিস্ট টেবিলের জন্য

আপনার ওয়ার্ডপ্রেস সাইটে যদি ইউজার রেজিস্ট্রেশন সিস্টেম চালু থাকে, তাহলে খুবি স্বাভাবিক মাঝে মাঝেই নতুন নতুন নিবন্ধিত ইউজার পাবেন। সকল ইউজারদের লিস্ট অ্যাডমিন প্যানেল টেবিলের ইউজার লিস্টে গেলে পাওয়া যাবে। এখানেও আমরা আগের নিয়মে কাস্টম কলাম যুক্ত করতে পারবো। আমাদেরকে শুধু functions.php ফাইলে ফিল্টারের জন্য লিখতে হবে manage_users_columns নিচের কোডের মতোঃ

function t4b_modify_user_table( $column ) {
	$column['user_reg'] = 'নিবন্ধন তারিখ';
	return $column;
}
add_filter( 'manage_users_columns', 't4b_modify_user_table' );

এতেকরে ইউজার লিস্ট টেবিলে একটি নতুন কলাম যুক্ত হবে। এবার আমাদেরকে আরেকটি ফিল্টার manage_users_custom_column ব্যবহার করে কলামটিতে ভ্যালূ যুক্ত করতে হবে। এজন্য নিচের কোডটি functions.php ফাইলে বসিয়ে দিনঃ

function t4b_modify_user_table_row( $val, $column_name, $user_id ) {
	$user = get_userdata( $user_id );
	switch ($column_name) {
		case 'user_reg' :
			return $user->user_registered;
			break;
		default:
	}
	return $return;
}
add_filter( 'manage_users_custom_column', 't4b_modify_user_table_row', 10, 3 );

ব্যাস! ভ্যালু যুক্ত হয়ে গেলো। এখন ইউজার লিস্টে গেলে দেখবেন নিবন্ধন তারিখ নামে যেই নতুন কলাম নিয়েছিলেন, সেখানে কোন ইউজার কবে নিবন্ধন করেছে সেই তারিখ প্রদর্শিত হচ্ছে।

কাস্টম কলামকে সর্টেবল করা

অ্যাডমিন প্যানেল টেবিলের যেই কলামটি সর্টেবল হিসেবে রেজিস্টার করবো তা ওয়ার্ডপ্রেসকে বলার জন্য নিচের ফিল্টারটি ব্যবহৃত হয়ঃ

manage_{$screen->id}_sortable_column

টিপস এবং পেজের ক্ষেত্রে, $screen->id হবে যথাক্রমে edit-post এবং edit-page, একিভাবে কাস্টম টিপসের ক্ষেত্রে হবে edit-posttype. উদাহরণস্বরূপ টিপসের ক্ষেত্রে নিচের কোডটি functions.php ফাইলে বসিয়ে দিনঃ

function post_sortable_custom_column_views ($columns) {
	$columns['post_views'] = 'post_views';
	return $columns;
}
add_filter('manage_edit-post_sortable_columns', 'post_sortable_custom_column_views');

$column array এর key ভ্যালূ একটি সর্টেবল কলাম নির্দেশিত করে, এবং এর ভ্যালূ ওয়ার্ডপ্রেসকে বলে orderby হিসেবে ক্যুয়েরিতে কি সেট কতে হবে।

অ্যাডমিন প্যানেল টেবিলের সর্টেবল কলামকে আরও নিখুঁতভাবে পরিচালনা করার জন্য, অর্থাৎ মেটা ভ্যালূ দ্বারা সর্ট করার জন্য নিচের কোডটি functions.php ফাইলে বসিয়ে দিনঃ

function sort_sortable_custom_column_views( $vars ) {
	if ( isset( $vars['orderby'] ) && 'post_views' == $vars['orderby'] ) {
		$vars = array_merge( $vars, array(
			'meta_key' => 'post_views_count', //Custom field key
			'orderby' => 'meta_value_num') //Custom field value (number)
		);
	}
	return $vars;
}
add_filter( 'request', 'sort_sortable_custom_column_views' );

এই ফাংশনটি চেক করবে, যদি আমাদের ক্যুয়েরি post_views দ্বারা অর্ডারিং করা হয়, তাহলে এটা ওয়ার্ডপ্রেসকে বলবে post_views_count টিপস মেটার ভ্যালূকে সংখ্যাসূচকভাবে অর্ডার করার জন্য।

ইউজার টেবিলে যেই কলাম যুক্ত করা হয়েছে সেটিকেও সর্ট করা সম্ভব। এজন্য manage_users_sortable_columns ফিল্টার ব্যবহার করতে হবে। সর্টিং করার জন্য আপনাকে নিচের কোডটুকু functions.php ফাইলে বসিয়ে দিতে হবেঃ

function t4b_sortable_user_table_columns( $column ) {
	$column[ 'user_reg' ] = 'user_registered';
	return $column;
}
add_filter( 'manage_users_sortable_columns', 't4b_sortable_user_table_columns' );

এবার নিবন্ধন তারিখ কলামের উপর মাউস ধরলে দেখবেন একটা তীর চিহ্ন দেখাচ্ছে। চিহ্নটির উপর ক্লিক করে আপনি কলামটিকে খুব সহজেই অ্যাসেন্ডিং অথবা ডিসেন্ডিং অর্ডারে সাজাতে পারবেন। এতে করে আপনি এখন খুব সহজেই দ্রুত জানতে পারছেন আপনার ব্লগে সর্বশেষ কে নিবন্ধন করেছে।

এভাবে নিজের পছন্দানুযায়ী যেকোনো ডাটা নতুন কাস্টম কলাম হিসেবে ওয়ার্ডপ্রেস অ্যাডমিন প্যানেল টেবিল লিস্টে যুক্ত করা যাবে। এজন্য আরও বিস্তারিত পড়াশুনা করতে হবে। উপরের উদাহরণগুলো শুধুমাত্র একটা ধারনা হিসেবে কাজে লাগতে পারে।

আজকের মতো এ পর্যন্তই। আগামীতে আশা করি নতুন কোন টিপস নিয়ে হাজির হবো। যদি টিপসটি উপভোগ করে থাকেন এবং আপনার উপকারে এসে থাকে, তাহলে অবশ্যই শেয়ার করে অন্যদের জানাবেন। যদি আপনার কোন মতামত থেকে থাকে অথবা আপনি কোন কিছু সুপারিশ করতে চান, নিশ্চিন্তে নিচে মন্তব্য করতে পারেন। সময় নিয়ে টিপসটি পড়ার জন্য এবং আপনার মূল্যবান পরামর্শের জন্য ধন্যবাদ।

Ads by rwc
বিজ্ঞাপন

নির্বাচিত টিপস মনোনয়ন

18

টিপসটি কি উপভোগ করেছেন?

এই টিপসের মতো এবং এরকম আরও ভালো মানের টিপসের জন্য ইমেইলের মাধ্যমে নিয়মিত আপডেট পেতে চাইলে TiPS4BLOG নিউজলেটারে সাবস্ক্রাইব করতে ভুলবেন না!

এছাড়াও আপনি পছন্দ করতে পারেন

2 টি মতামত

  1. এ.এস.ডি says:

    একটি অসাধারন টিপস শেয়ার করার জন্য আপনাকে অসংখ্য ধন্যবাদ।

আপনার মতামত দিন

যদি আপনার কোন বক্তব্য থেকে থাকে অথবা আপনি কোন কিছু সুপারিশ করতে চান অথবা বোঝার ক্ষেত্রে কোন সমস্যা হয়, নিশ্চিন্তে নিচে মতামত দিতে পারেন। দয়া করে স্প্যামিং করবেন না এবং কোন বাজে ভাষা ব্যবহার করবেন না। আমরা আপনাদের কাছ থেকে অর্থবহ এবং গঠনমূলক মতামত আশা করি।


দুই − = 0