ওয়ার্ডপ্রেস ওস্তাদ [পর্ব-১২] :: ওয়ার্ডপ্রেস থিম ফ্রেমওয়ার্ক ডেভলপমেন্ট (পর্ব-৬)

সবাইকে আন্তরিক শুভেচ্ছা এবং স্বাগতম জানাচ্ছি “ওয়ার্ডপ্রেস ওস্তাদ” এডভান্স ওয়ার্ডপ্রেস ডেভলপমেন্টের উপর একটা পূর্ণাঙ্গ ফ্রি চেইন কোর্সে। টেকটিউনস বিশ্বের সবচেয়ে বড় বাংলা সোশ্যাল নেটওয়ার্ক । এরকম একটা বড় প্লাটফর্মে “ওয়ার্ডপ্রেস ওস্তাদ” কোর্সটি টেকটিউনস কতৃপক্ষের প্রত্যক্ষ সহযোগিতায় শুরু করতে পেরে ভালো লাগছে।

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

ওয়ার্ডপ্রেস থিম ফ্রেমওয়ার্ক ডেভলপমেন্ট (পর্ব-৬)

গতপর্বে আমরা যে content.php ফাইল তৈরি করেছিলাম , সেখানে author meta, date meta, category,tags,comments ইত্যাদি কিভাবে যুক্ত করতে হয় দেখবো।

গতপর্বে functions.php ফাইলে আমরা নিচের ফাংশনটি নিয়েছিলাম।


if ( ! function_exists( 'auamy_post_meta' ) ) {
	function auamy_post_meta() {
		echo '<ul class="list-inline entry-meta">';

		if ( get_post_type() === 'post' ) {

		}

		echo '</ul>';
	}
}

উপরের কোড এডিট করে

if ( get_post_type() === 'post' ) {

		}

এর মধ্যে নিচের কোডটুকু যুক্ত করুন।

			// If the post is sticky, mark it.
			if ( is_sticky() ) {
				echo '<li class="meta-featured-post"><i class="fa fa-thumb-tack"></i> ' . __( 'Sticky', 'auamy' ) . ' </li>';
			}

			// Get the post author.
			printf(
				'<li class="meta-author"><a href="%1$s" rel="author">%2$s</a></li>',
				esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
				get_the_author()
			);

			// Get the date.
			echo '<li class="meta-date"> ' . get_the_date() . ' </li>';

			// The categories.
			$category_list = get_the_category_list( ', ' );
			if ( $category_list ) {
				echo '<li class="meta-categories"> ' . $category_list . ' </li>';
			}

			// The tags.
			$tag_list = get_the_tag_list( '', ', ' );
			if ( $tag_list ) {
				echo '<li class="meta-tags"> ' . $tag_list . ' </li>';
			}

			// Comments link.
			if ( comments_open() ) :
				echo '<li>';
				echo '<span class="meta-reply">';
				comments_popup_link( __( 'Leave a comment', 'auamy' ), __( 'One comment so far', 'auamy' ), __( 'View all % comments', 'auamy' ) );
				echo '</span>';
				echo '</li>';
			endif;

			// Edit link.
			if ( is_user_logged_in() ) {
				echo '<li>';
				edit_post_link( __( 'Edit', 'auamy' ), '<span class="meta-edit">', '</span>' );
				echo '</li>';
			}

কোড পর্যালোচনা

if ( get_post_type() === 'post' ) {

		}

কনটেন্টের post type যদি post হয় তাহলে এই if কন্ডিশনাল স্টেটমেন্টের কন্ডিশন সত্য হবে এবং {} ব্রাকেটের মধ্যেকার ইন্সট্রাকশন সমূহ কাজ করবে।

if ( is_sticky() ) {
				echo '<li class="meta-featured-post"><i class="fa fa-thumb-tack"></i> ' . __( 'Sticky', 'auamy' ) . ' </li>';
			}

এখাসে is_sticky() এর মাধ্যমে চেক করবে পোস্টটি স্টিকি কিনা।যদি স্টিকি হয় তাহলে fortawesome এর fa-thumb-tack আইকনটি যুক্ত করবে। এবং Sticky লেখাটি দেখাবে।__( 'Sticky', 'auamy' ) ব্যবহৃত হচ্ছে Sticky লেখাটি প্রদর্শনের জন্য। এবং সাইটটি যদি অন্য কোন ভাষায় হয়ে থাকে তাহলে তা ট্রান্সলেট করে ঐ ভাষায় দেখাবে।

// Get the post author.
			printf(
				'<li class="meta-author"><a href="%1$s" rel="author">%2$s</a></li>',
				esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
				get_the_author()
			);

এর মাধ্যমে লেখকের নাম প্রদর্শন করবে এবং author পেজের সাথে লিংক তৈরি করবে। এখানে

<li class="meta-author"><a href="%1$s" rel="author">%2$s</a></li> 

এর %1$s এর মাধ্যমে esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) এর ভ্যালুকে রিপ্রেজেন্ট করে এবং পরবর্তী %2$s প্রকৃতপক্ষে get_the_author() এর এর ভ্যালুকে রিপ্রেজেন্ট করে।

// Get the date.
			echo '<li class="meta-date"> ' . get_the_date() . ' </li>';

এর মাধ্যমে তারিখ প্রদর্শিত হবে।

// The categories.
			$category_list = get_the_category_list( ', ' );
			if ( $category_list ) {
				echo '<li class="meta-categories"> ' . $category_list . ' </li>';
			}

এর মাধ্যমে পোস্টের ক্যাটাগরি লিস্ট প্রদর্শন করবে। এখানে $category_list = get_the_category_list( ', ' ); এর মাধ্যমে প্রথমে ক্যাটেগরী সমূহ $category_list ভেরিয়েবলের আন্ডারে একটা এরেতে জমা হবে।
if ( $category_list ) {} এর মাধ্যমে চেক করা হচ্ছে কোন ক্যাটেগরী আছে কিনা, যদি থাকে তাহলে

echo '<li class="meta-categories"> ' . $category_list . ' </li>';

এর মাধ্যমে লিস্ট আইটেম হিসেবে প্রদর্শন করবে।যদিও css ব্যবহার করে পরবর্তীতে একই লাইনে ক্যাটেগরী সমূহকে প্রদর্শন করা যাবে।

// The tags.
			$tag_list = get_the_tag_list( '', ', ' );
			if ( $tag_list ) {
				echo '<li class="meta-tags"> ' . $tag_list . ' </li>';
			}

এর মাধ্যমে ট্যাগ সমূহ প্রদর্শন করা হয়।$tag_list = get_the_tag_list( '', ', ' ); এর মাধ্যমে ক্যাটেগরীর অনুরূপ প্রথমে ট্যাগ সমূহ $tag_list ভেরিয়েবলের আন্ডারে একটা এরেতে জমা হবে।এর পর if ( $tag_list ){} এর মাধ্যমে চেক করা হচ্ছে কোন ট্যাগ আছে কিনা, যদি থাকে তাহলে

echo '<li class="meta-tags"> ' . $tag_list . ' </li>';

এর মাধ্যমে লিস্ট আইটেম হিসেবে ট্যাগ সমূহকে প্রদর্শন করবে।

			// Comments link.
			if ( comments_open() ) :
				echo '<li>';
				echo '<span class="meta-reply">';
				comments_popup_link( __( 'Leave a comment', 'auamy' ), __( 'One comment so far', 'auamy' ), __( 'View all % comments', 'auamy' ) );
				echo '</span>';
				echo '</li>';
			endif;

এর মাধ্যমে পোস্টে কমেন্ট আছেকিনা, আর থাকলে কতগুলো কমেন্ট আছে তা প্রদর্শন করা হয়।if ( comments_open() )এর মাধ্যমে চেক করা হচ্ছে পোস্টটিতে বা কমেন্ট এনাবল করা আছে কিনা।comments_popup_link( __( 'Leave a comment', 'auamy' ), এর মাধ্যমে প্রদর্শিত হবে Leave a comment ম্যাসেজটি।অর্থাৎ পোস্টে কোন কমেন্ট নেই, কমেন্ট যুক্ত করুন।__( 'One comment so far', 'auamy' ),এর মাধ্যমে বলা হচ্ছে একটা কমেন্ট আছে। আর __( 'View all % comments', 'auamy' ) );এর মাধ্যমে বলা হচ্ছে নির্দিষ্ট সংখ্যক কমন্টে আছে।

// Edit link.
			if ( is_user_logged_in() ) {
				echo '<li>';
				edit_post_link( __( 'Edit', 'auamy' ), '<span class="meta-edit">', '</span>' );
				echo '</li>';
			}

এর মাধ্যমে পোস্ট কাস্টমাইজ করার জন্য edit বাটন যুক্ত করা হয়।if ( is_user_logged_in() ) এর মাধ্যমে চেক করবে ইউজার লগইন আছে কিনা। যদি লগইন অবস্থায় থাকে তাহলে edit_post_link( __( 'Edit', 'auamy' ), '', '' ); এর মাধ্যমে একটা edit লিংক যুক্ত হবে।

সম্পূর্ণ কোড

/**
 * ----------------------------------------------------------------------------------------
 * 5.0 - Display meta information for a specific post.
 * ----------------------------------------------------------------------------------------
 */
if ( ! function_exists( 'auamy_post_meta' ) ) {
	function auamy_post_meta() {
		echo '<ul class="list-inline entry-meta">';

		if ( get_post_type() === 'post' ) {
			// If the post is sticky, mark it.
			if ( is_sticky() ) {
				echo '<li class="meta-featured-post"><i class="fa fa-thumb-tack"></i> ' . __( 'Sticky', 'auamy' ) . ' </li>';
			}

			// Get the post author.
			printf(
				'<li class="meta-author"><a href="%1$s" rel="author">%2$s</a></li>',
				esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
				get_the_author()
			);

			// Get the date.
			echo '<li class="meta-date"> ' . get_the_date() . ' </li>';

			// The categories.
			$category_list = get_the_category_list( ', ' );
			if ( $category_list ) {
				echo '<li class="meta-categories"> ' . $category_list . ' </li>';
			}

			// The tags.
			$tag_list = get_the_tag_list( '', ', ' );
			if ( $tag_list ) {
				echo '<li class="meta-tags"> ' . $tag_list . ' </li>';
			}

			// Comments link.
			if ( comments_open() ) :
				echo '<li>';
				echo '<span class="meta-reply">';
				comments_popup_link( __( 'Leave a comment', 'auamy' ), __( 'One comment so far', 'auamy' ), __( 'View all % comments', 'auamy' ) );
				echo '</span>';
				echo '</li>';
			endif;

			// Edit link.
			if ( is_user_logged_in() ) {
				echo '<li>';
				edit_post_link( __( 'Edit', 'auamy' ), '<span class="meta-edit">', '</span>' );
				echo '</li>';
			}
		}

		echo '</ul>';
	}
}

functions.php তে যে ফাংশন তৈরি করা হলো তা content.php তে auamy_post_meta(); এর অনুরূপ কল করতে হবে।যা গতপর্বে দেখানো হয়েছিলো।

<p class="entry-meta">
			<?php
				// Display the meta information
				auamy_post_meta();
			?>
		</p>

সোর্স ফাইল ডাউনলোড

http://www.mediafire.com/download/0ocyoqeh869bop8/6.WordPress_Theme_Framework_Development(Part-6).zip

আজ এ পর্যন্তই। সবাইকে ধন্যবাদ । শুভকামনা রইলো।

Level 2

আমি অসীম কুমার পাল। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 15 বছর 6 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 147 টি টিউন ও 469 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 17 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।

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


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

Level New

Caliye jan sathe achi

চালায়া যান। সাথে আছি। আপনার চেইন টিউন মানেই অসাধারণ।

হুম আপনার টিউটোরিয়াল টিউনগুলো খুব ভাল হচ্ছে। বিশেষত ওয়ার্ডপ্রেস টিউটোরিয়ালগুলো আরো চমতকার। So, many many Thanks.
আচ্ছা, ওয়ার্ডপ্রেস সাইটের পোস্ট ক্যাটাগরী/বিভাগসমূহকে কিভাবে ২ টি কলামে বিভক্ত করা যাবে যেমন টিটি অনুরুপ। আপনার জানা থাকলে একটু রিভিউ দিলে উপকৃত হই।কারন, উক্ত কাজটি অনেক পূর্বে করেছিলাম, বর্তমানে স্মরন হচ্ছে না। পরিশেষে ভাল থাকবেন ও আন্তরিক শুভেচ্ছা।

Level New

ভাইজান, আমার একটা জিনিস জানা দরকার । জানা থাকলে অবশ্যই জানাবেন। নিউজ সাইটে দেখা যায় নিদিষ্ট ক্যাটেগরি পোষ্ট সমূহ শো করছে। যার ১ম পোস্ট টি তে ইমেজ আছে কিন্তু পরের পোস্ট গুলতে শুধু টাইটেল শো করছে।http://bangla.bdnews24.com/ এখানে গেলে দেখতে পারবেন।

আরও একটা বিসয় অন্য একটা সাইটে দেখেছি, মেনুতে কোন নিদিষ্ট ক্যাটেগরি যুক্ত করা আছে, Hovar করলে ওই ক্যাটেগরির কিছু পোস্ট দেখা যাচ্ছে ইমেজ সহ।