মঙ্গলবার,  বিকাল ৪:১৮  ♦  ১৯শে মার্চ, ২০২৪ ইং, ৫ই চৈত্র, ১৪৩০ বঙ্গাব্দ ( বসন্তকাল )
মঙ্গলবার,  বিকাল ৪:১৮  ♦  ১৯শে মার্চ, ২০২৪ ইং, ৫ই চৈত্র, ১৪৩০ বঙ্গাব্দ ( বসন্তকাল ), ৯ই রমযান, ১৪৪৫ হিজরী  ♦
ওয়ার্ডপ্রেস টিপস

শেয়ার

iftekharul
  • 44 টি টিপস
About Author
(পদবী - ধ্রুপদী)

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

৮ বছর ৬ মাস ১৮ দিন আগে
iPhone SE 2

iPhone SE 2 লঞ্চ করতে চলেছে Apple, মধ্যবিত্তের সাধ্যের মধ্যে

অক্টো. 5, 2019 9:27:35 অপরাহ্ন ( ৪ বছর ৫ মাস ১৬ দিন আগে )

আপনি সম্প্রতিকালে কোন মতামত প্রদান করেন নাই।

first letter post
ওয়ার্ডপ্রেস ৭১২৯ বার

প্রথম অক্ষরদ্বারা ওয়ার্ডপ্রেসে পোস্ট খুঁজে বের করার উপায়

অ-
অ+

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

বিজ্ঞাপন

প্রথম অক্ষরদ্বারা টিপস উদ্ধার

এই কাজের জন্য ওয়ার্ডপ্রেসের কোন বিল্টিন ফাংশন আছে কিনা আমার জানা নাই। আমি সরাসরি MySQL ক্যুয়েরি করে কাজটির সমাধান করেছি। প্রথমে যেটা করতে হবে, থিমের functions.php ফাইল ওপেন করে নিচের কোড স্নিপেট বসিয়ে ফাইলটি সেভ করতে হবে:

function get_post_by_first_letters($letter) {
	global $wpdb;
	$table_name = $wpdb->prefix."posts";
	$sql="SELECT ID, post_title FROM $table_name WHERE post_title LIKE '$letter%' AND post_type = 'post'";
	$result = $wpdb->get_results($sql);
	if($result === NULL){
		$result = 0;
	}
	return $result;
}

MySQL ক্যুয়েরিতে যারা % এর ব্যবহার জানেন তারা খুব সহজেই উপরের ফাংশনটি বুঝতে পারবেন। আমরা ফাংশনটিকে কল করবো এর মধ্যে প্রথম অক্ষরকে প্যারামিটার হিসেবে ব্যবহার করে। এরপরে, LIKE লিখে প্রথম অক্ষরের শেষে একটি % দিয়ে ক্যুয়েরি করবো। MySQL ক্যুয়েরিতে LIKE লিখে কোন একটি অক্ষর বা শব্দের শেষে % দিলে সেটি ঐ শব্দ বা অক্ষরের % এর আগে যতটুকু আছে তার সাথে মিল রেখে ফলাফল খুঁজে বের করে। যেমন, আমরা যদি how% দেই, তাহলে যতগুলো বাক্য how দিয়ে শুরু হয়েছে সবগুলো খুঁজে বের করবে। % এর আরও ব্যবহার আছে, তবে আজকে আর অতো আলোচনাতে যাচ্ছি না। আমাদের আসল কাজ সম্পন্ন হয়ে গেছে অর্থাৎ ফলাফল উদ্ধারের কাজ শেষ, এখন শুধু বাঁকি ফলাফল প্রদর্শন করানো।

প্রথম অক্ষরদ্বারা টিপস প্রদর্শন

এবার আমরা উপরের ফাংশনটিকে কাজে লাগিয়ে ফলাফল প্রদর্শন করাবো। অনেকরকম উপায়ে করা যায় এই কাজ, আমি একটি পদ্ধতি এখানে দেখাবো, আপনারা আরও ভিন্ন পদ্ধতি দিয়ে চেষ্টা করে দেখতে পারেন।

ব্লগের যেই পেজে ফলাফল দেখাতে চান, সেখানে চোখ বন্ধ করে নিচের কোডটুকু বসিয়ে দিন:

				<div class="post-by-letter">
					<form action="" id="input-letters" enctype="multipart/form-data" method="post">
						<label for="enter_first_letter">একটি অক্ষর লিখুন</label>
						<input type="text" name="first_letter" id="first_letter" value="<?php if(isset($_POST['first_letter']) && $_POST['first_letter'] != '') { echo $_POST['first_letter']; } ?>" maxlength="1" />
						<input type="submit" name="get_posts" class="get_posts" value="Get" />
					</form>
					<?php
					if(isset($_POST['get_posts']) && $_POST['get_posts'] == 'Get') :
						$letter = $_POST['first_letter'];
						$all_posts = get_post_by_first_letters($letter);
						if(!empty($all_posts)) {
							echo '<ul>';
								foreach($all_posts as $title) {
										echo '<li><a href="' . get_permalink($title->ID) . '">' . $title->post_title . '</a></li>';
								}
							echo '</ul>';
						} else { echo '<br />কোন টিপস খুঁজে পাওয়া যায় নাই!'; }
					endif;
					?>
				</div>

অত্যন্ত সহজ একটা বিষয়, আমরা একটি ফর্মের মধ্যে টেক্সট বক্স নিয়েছি প্রথম অক্ষরটি ইনপুট দেওয়ার জন্য, এবং একটি সাবমিট বাটন নিয়েছি। প্রথম অক্ষর লিখে Get বাটনে ক্লিক করলেই নিচে ফলাফল প্রদর্শিত হবে। আপনি যদি “ক” লিখে সাবমিট করেন, তাহলে “ক” দিয়ে শুরু হওয়া সকল টিপসের শিরোনাম নিচে প্রদর্শিত হবে।

এখন, চাইলে CSS দ্বারা ফলাফলগুলোকে আরও সুন্দরভাবে উপস্থাপন করা যায়। আমি একটু সাহায্য করছি এই বিষয়ে। আপনারা হাত ঘুরিয়ে আরও সুন্দর করতে পারেন:

.post-by-letter {float:left;border: 1px solid #ddd;margin: 0 0 10px 2px;padding: 10px}
.post-by-letter label {margin-right: 10px}
.post-by-letter input[type="text"] {background-color: #002B3B;color: #fff;width: 15px;padding: 5px 5px 5px 9px}
.post-by-letter input[type="submit"] {}
.post-by-letter ul {border: 1px solid #ddd;margin: 15px 5px 5px;padding: 20px 20px 20px 50px}
.post-by-letter ul li {list-style-type: bengali;line-height: 30px;font-size: 14px}
.post-by-letter ul li a {}

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

Ads by T4B
বিজ্ঞাপন

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

3

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

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

আপনি আরো পছন্দ করতে পারেন

মতামত বন্ধ