چطور به RSS وردپرس محتوایی اضافه کنیم یا آن را تغییر دهیم؟

RSS وردپرس

RSS وردپرس

اگر شما بخواهید تیتر های مختلف و خاصی را برای هر پست در RSS آر اس اس آن پست نمایش دهید یا اگر بخواهید فیلدی سفارشی در RSS آر اس اس ایجاد کنید چه می کنید؟

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

نکته : این هک تنها قابل استفاده برای کسانی است که بلد باشند functions.php را ادیت کنند. این هک برای افراد مبتدی نیست.

۱-افزودن فیلد دلخواه به فوتر آر اس اس RSS وردپرس

این اولین مثال ما به شما برای چگونگی نمایش متن یا شی در فید rss وردپرس است.این ترفند به شما نشان می دهد که چونه متن ، آگهی تبلیغاتی ، عکس یا هر چیز دیگر را برای هر کدام از پست ها نمایش دهید.

ابتدا فایل Functions.php را باز کنید و کد زیر را در میان تگ php قرار دهید.

function wpbeginner_postrss($content) {
global $wp_query;
$postid = $wp_query->post->ID;
$coolcustom = get_post_meta($postid, 'coolcustom', true);
if(is_feed()) {
if($coolcustom !== '') {
$content = $content."<br /><br /><div>".$coolcustom."</div>
";
}
else {
$content = $content;
}
}
return $content;
}
add_filter('the_excerpt_rss', 'wpbeginner_postrss');
add_filter('the_content', 'wpbeginner_postrss');

حال شما باید تعجب کنید که این کد چه عملکردی خواهد داشت.خب ما یک فانکشن به نام  wpbeginner_postrss ساختیم که یک  wp_query سراسری را اجرا می کند که در تمامی پست ها جستحو می کند که ببیند coolcustom تعریف شده است.اگر تعریف شده باشد پس مقداری که بعد از محتوای پست آمده است را نمایش می دهد و اگر تعریف نشده باشد وردپرس به صورت پیش فرض محتوای پست ها را نمایش می دهد و هیچ چیز اضافه ای نمایش نمی دهد.

ما از متغیر $content برای نمایش استفاده کردیم.و از if(is_feed) برای اضافه کردن متن یا محتوای دیگری به RSS آر اس اس اسنفاده کردیم.با انجام دادن این کار ما از به وجود آمدن هرگونه خطای دیگر اجتناب کردیم.

ما کدی را درفوتر ار اس اس گذاشتم اما این کد دققیقا برای همه پست ها یکسان نیست.این کد متغیر است.چرا ؟ چون شما در هر یک از پست های خود از متن ها و فیلد های متفاوتی استفاده می کنید.

مرحله دوم : اضافه کردن متن انتخابی به تیتر پست ها در وردپرس

اگر در وبسایت شما بازدید کنندگان و مهمانان پست میگذاشته باشند ، یا اگر پست های اسپانسری داشته باشید چه ؟

اگر اینگونه باشد این راه خیلی بدرد شما خواهد خورد.برخی از وبلاگ نویسان استایل خود را برای به نمایش در آوردن پست های متفاوت دارند. پس کاربران می توانند بینشان تشخیص بدهند.اما وقتی این پست ها به یک خواننده می رسد ، همه چیز از دست می رود.این تکنیک باعث می شود همه چیز را به طور دستی بتوانید اضافه کنید.

برای مثال اگر تیتر سایت شما – Themeline – باشد و پست نیز اسپانسری باشد می توانید تیتر با themeline به – Sponsered post , – تغییر بدهید.

برای اینکار لازم است که فایل Functions.php را بازکرده و کد زیر را در ان جای گذاری کنید.

function wpbeginner_titlerss($content) {
global $wp_query;
$postid = $wp_query->post->ID;
$gpost = get_post_meta($postid, 'guest_post', true);
$spost = get_post_meta($postid, 'sponsored_post', true);

if($gpost !== '') {
$content = 'Guest Post: '.$content;
}
elseif ($spost !== ''){
$content = 'Sponsored Post: '.$content;
}
else {
$content = $content;
}
return $content;
}
add_filter('the_title_rss', 'wpbeginner_titlerss');

 

اکنون ما فیلد های سفارشی خود را اجرا کردیم. اکنون میخواهید تا نام موضوعات سایت را هم در تیتر نمایش دهیم؟

این کد را نیز جای گذاری نمایید :

function wpbeginner_cattitlerss($content) {
$postcat = "";
foreach((get_the_category()) as $cat) {
$postcat .= ' ('.$cat->cat_name . ')';
}
$content = $content.$postcat;
return $content;
}
add_filter('the_title_rss', 'wpbeginner_cattitlerss');

توضیح : ما از تابع wpbgeinner_cattitlerss برای جمع آوری ID هر پست استفاده کردیم و آن ها را بعد از تیتر نشان دادیم

پس اگر تیتر ما Get Contact Form 7 باشد از این به بعد Get Contact Form 7 [Plugins] خواهد بود

مرحله سه : اضافه کرد یک پست مشخص به تمامی آر اس اس ها

اگر شما بخواهید به بهترین نحو این کار را انجام بدهید باید از افزونه RSS Footer by Joost استفاده کنید زیرا کار با آن آسان تر است.اما اگر میخواهید خودتان این کار را انجام بدهید فایل فانکشن را باز کنید و کد زیر را در آن کپی کنید :

function wpbeginner_postrss($content) {
if(is_feed()){
$content = 'This post was written by Syed Balkhi '.$content.'Check out WPBeginner';
}
return $content;
}
add_filter('the_excerpt_rss', 'wpbeginner_postrss');
add_filter('the_content', 'wpbeginner_postrss');

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *