وردپرس یه سیستم مدریت محتوای و وبلاگ نویسه خیلی خوب هستش، از وردپرس برای طراحی انواع مختلف وبلاگ‏ها و وبسایت‏ها استفاده می‏کنن. گاهی اوقات پیش میاد که حتی یه سایت تجاری بزرگ رو بر پایه‏ی وردپرس طراحی می‏کنن، بر همین اساس امکان داره که بخوان بعضی قسمت‏های وردپرس رو سفارشی کنن و برای طرح خودشون آماده کنن. تو این پست ۹ روش برای سفارشی کردن فید وردپرس آمده، که امیدوارم بتونه کمکتون کنه.

تو این پست یاد می‏گیریم که:

  1. چطوری هم مطالب و هم صفحات وبلاگ رو وارد فید کنیم؛
  2. چطوری فقط صفحات وبلاگ رو وارد فید کنیم؛
  3. چطوری تصاویر بندانگشتی رو به فید وبلاگ اضافه کنیم؛
  4. چطوری مانع وارد شدن پست‏های مربوط به یک برچسب خاص به فید بشیم؛
  5. چطوری تعداد مطالب موجود در فید رو تغییر بدیم؛
  6. چطوری فقط مطالب مربوط به یک دسته‏ی خاص رو در فید نمایش بدیم؛
  7. چطوری مانع نمایش مطالب مربوط به یک دسته خاص در فید بشیم؛
  8. چطوری به آخر هر پست در فید، محتویات دلخواه رو اضافه کنیم؛
  9. نمایش آخرین مطالب مربوط به یک برچسب در فید وردپرس.

‏۱ و ۲- وارد کردن صفحات به فید وردپرس

۱: دلایل زیادی وجود داره که شما بخواین صفحات وبلاگتون رو هم وارد فید وردپرس کنید، با کد کوتاه زیر به راحتی می‏تونید صفحات وبلاگ رو هم وارد فید کنید.

تنها کاری که باید اینجام بدید اینه که کدهای زیر رو در فایل function.php پوسته‏ی خودتون قرار بدید؛

function feedFilter($query) {
	if ($query->is_feed) {
		$query->set('post_type','any');
		}
	return $query;
}
add_filter('pre_get_posts','feedFilter');

‏۲: مثل شماره‏ی یک، دلایل زیادی هم وجود داره که شما بخواین فقط و فقط صفحات وبلاگ رو وارد فید کنید و از وارد شدن مطالب وبلاگ به فید جلوگیری کنید، این امکان و قابلیت قبلی بیشتر برای استفاده از وردپرس به عنوان CMS وبسایت‏ها می‏تونه مورد استفاده قرار بگیره.

برای این کار هم فقط کافیه کد زیر رو در فایل function.php پوسته‏ی وردپرستون قرار بدید؛

function feedFilter($query) {
	if ($query->is_feed) {
		$query->set('post_type','any');
		$query->set('post_parent','0');
		}
	return $query;
}
add_filter('pre_get_posts','feedFilter');

‏۳- اضافه کردن تصاویر بندانگشتی به فید

یکی از قابلیت‏های خوبی که تازگی‏ها به وردپرس اضافه شده، استفاده از تصاویر بندانگشتی برای پست‏ها هستش، اما به طور پیش‏فرض این تصاویر توی فید نمایش داده نمی‏شن، برای نمایش این تصاویر در فید، کد زیر رو توی فایل function.php پوسته وردپرستون قرار بدید؛

  • کد مورد نظر رو از اینجا بگیرید.

‏۴- خارج کردن مطالب مربوط به یک برچسب خاص از فید وردپرس

شاید شما نخواهید همه‏ی مطالبتون وارد فید بشن! یا بخواهید از وارد شدن مطالب مربوط به یک برچسب خواص به فیدتون جلوگیری کنید، شاید در ظاهر کار سختی به نظر بیاد، اما با وردپرس همه کارها به راحتی انجام می‏شه، فقط کافیه کد زیر رو تو فایل function.php پوسته وردپرستون قرار بدید؛

function feedFilter($query) {
	if ($query->is_feed) {
		$tags = array('29');
		$query->set('tag__not_in', $tags);
	}

	return $query;
}
add_filter('pre_get_posts','feedFilter');

اگر هم می‏خواین فیدتون رو از مطالب مربوط به چند برچسب خواص محروم کنید، می‏تونید کد زیر رو جایگزین خط سوم کد بالا کنید.

$tags = array('29', '31', '124');

حالا با وارد کردن ID برچسب(ها) -توی خط سوم- مورد نظرتون می‏تونید کاری کنید که مطالب اون برچسب از فید حذف بشن.

‏۵- تغییر تعداد مطالب موجود در فید

در داشبورد وردپرس، از منوی تنظیمات » خواندن شما می‏تونید انتخاب کنید که چند مطلب در فید به نمایش در بیاد، با این حال، ممکن است که شما بخواهید مطالب بیشتری رو وارد فید وبلاگتون کنید.
راه حل این کار کد زیر هستش، برای استفاده از این کد باید اون رو توی فایل function.php قالب وبلاگ وردپرسیتون قرار بدید و تو خط سوم تعداد مطالب مورد نظرتون رو که می‏خواهید تو فید نمایش داده بشه رو مشخص کنید.

function feedFilter($query) {
	if ($query->is_feed) {
		$query->set('posts_per_page','20');
	}

	return $query;
}
add_filter('pre_get_posts','feedFilter');

‏۶- نمایش مطالب مربوط به یک دسته‏ی خاص در فید وردپرس

برای این که فید وردپرستون فقط مطالب مربوط به یک دسته‏بندی خاص رو نمایش بده باید کد زیر رو تو فایل function.php پوسته وبلاگتون قرار بدید و اسم دسته رو در خط سوم کد زیر، به جای کلمه blog قرار بدید.

function feedFilter($query) {
	if ($query->is_feed) {
		$query->set('category_name', 'blog');
	}

	return $query;
}
add_filter('pre_get_posts','feedFilter');

‏۷- نمایش ندادن مطالب مربوط به یک دسته خاص در فید وردپرس

برای نمایش ندادن مطالب مربوط به یک دسته‏ی خاص در فید وردپرس، با یکم تغییر، از معکوس کد قسمت شماره ۶ (قسمت قبلی) استفاده می‏کنیم. کد زیر رو جایگزین خط سوم کد قسمت قبلی می‏کنیم؛

$query->set('cat', '-45');

کد نهایی برای نمایش ندادن مطالب مربوط به یک دسته‏ی خاص در فید مثل کد زیر می‏شه؛

function feedFilter($query) {
	if ($query->is_feed) {
		$query->set('cat', '-45');
	}

	return $query;
}
add_filter('pre_get_posts','feedFilter');

نکته: تو خط سوم، باید ID دسته‏ی مورد نظرتون رو قرار بدید. اون علامت منفی‏ای هم که کنار ID دسته نوشته شده باعث می‏شه که مخالف قسمت ششم عمل کنه.

‏۸- اضافه کردن متن دلخواه به آخر هر پست در فید وردپرس

دلایل زیادی وجود داره که شما بخواهید متنی رو به آخر هر پست در فید وبلاگتون اضافه کنید، بدون این که توی خود وبلاگ به نمایش دربیاد، قبل‏تر در پست «بدون درد و خون ریزی همه چیزُ به فید وبلاگتون اضافه کنید!» افزونه‏ای برای این کار معرفی کردم که خیلی هم کامل بود، اما آموزش الان به صورت دستی این کار رو برای ما انجام می‏ده.

برای این کار کد زیر رو تو فایل function.php پوسته‏ی وبلاگ وردپرسیتون قرار بدید و خط دهم رو ویرایش کنید و پیغامی که دوست دارید آخر مطالب در فید قرار بگیره رو جایگزینش کنید.

function feedFilter($query) {
	if ($query->is_feed) {
		add_filter('the_content','feedContentFilter');
	}
	return $query;
}
add_filter('pre_get_posts','feedFilter');

function feedContentFilter($content) {
	$content .= '<p>Thanks for reading, check out <a href="'. get_bloginfo('url') .'">'. get_bloginfo('name') .'</a> for more WordPress news!</p>';

	return $content;
}

شما می‏تونید از این ترفند برای زیباسازی و سفارشی کردن بیشتر فید استفاده کنید، مثلا، می‏تونید از این طریق کمی سی‏اس‏اس وارد فیدتون کنید و مطالبتون رو استایل بندی کنید.

‏۹- نمایش آخرین مطالب مربوط به یک برچسب در فید وردپرس

اگه شما می‏خواهید آخرین مطالب مربوط به یک برچسب رو در وبلاگتون نمایش بدید، کد زیر رو در فایل function.php پوسته وبلاگ قرار بدید.
تو خط دوازدهم تعداد پست‏هایی که نمایش داده می‏شه رو می‏شه تنظیم کرد، تو خط سیزدهم هم اسم برچسبی که آخرین مطالب اون رو می‏خواهین به نمایش بزارید رو می‏تونید تنظیم کنید، و توی خط نوزدهم کد زیر هم می‏تونید قالب کلی لینکی که قرار نمایش داده بشه رو تنظیم کنید.

function feedFilter($query) {
	if ($query->is_feed) {
		add_filter('the_content','feedContentFilter');
	}
	return $query;
}
add_filter('pre_get_posts','feedFilter');

function feedContentFilter($content) {

	$args = array(
	    'numberposts' => 1,
	    'tag' => 'featured'
	);
	$posts = get_posts($args);

	if($posts) {
	    foreach($posts as $post) {
	        $content .= '<p>Make sure not to miss our latest featured post: <a href="'. get_permalink($post->ID) .'">'. $post->post_title .'</a>!</p>';
	    }
	}

	return $content;
}

نکته: اگه پوسته‏ی شما فایل function.php رو نداره، یه فایل با همین اسم، توی پوشه‏ی پوسته وبلاگتون بسازید.

منبع: wprecipes

قسمت نظرات منتظر سوالات و نظرات شماست.
از وردپرس لذت ببرید.