آموزش سفارشی کردن و اعمال تغییرات در خروجی فید وردپرس

40

آموزش سفارشی کردن و اعمال تغییرات در خروجی فید وردپرس

احتمالا شما هم به خوبی میدانید که فید ها هنوز شیوه ای محبوب برای دنبال کردن مطالب وبسایتها هستند و اینجوری که به نظر می آیند این رویه دست کم طی یکی دو سال آینده و شاید هم بیشتر ادامه خواهد داشت. بنابراین بدون شک، سفارشی سازی فید وبسایت وردپرسی شما، در کنار انتشار مطالب خوب و مناسب و جذاب برای کاربران میتواند کمک شایان توجهی به افزایش خوانندگان وبسایت شما بکند.

در این آموزش قصد داریم با هم روشهای سفارشی سازی و اعمال تغییرات دلخواه در خروجی فید وبسایتهای وردپرسی را بررسی کنیم. در پایان این مقاله قادر خواهید بود کارهای زیر را انجام دهید :

  • کاری کنید که برگه های وبسایتتان هم در خروجی فید RSS شما نمایش داده شوند.
  • به خروجی فیدتان تصاویر بند انگشتی اضافه کنید
  • از نمایش نوشته هایی که دارای یک برچسب خاص هستند در فید وبسایتتان جلوگیری کنید.
  • تعداد نوشته های نمایش داده شده در فید را به دلخواه خود تغییر دهید.
  • فقط نوشته های دسته بندی خاصی را در فید خود نمایش دهید.
  • نوشته یا محتوای دلخواهی را به پایان هر مطلب در فید RSS تان اضافه کنید. (مثلا تبلیغ یا لینک به سایت خودتان و …)

خوب تصمیم داریم زود دست به کار بشویم و سراغ اصل مطلب برویم. فقط توجه داشته باشید که هر کدی که به شما ارائه میکنیم، جایش در فایل functions.php پوسته ی جاری وبسایت شماست. بنابراین اگر احیانا از پوسته ای استفاده میکنید که این فایل را ندارد. کافی است یک فایل با نام functions.php ایجاد کرده و آن را در فولدر اصلی پوسته ی سایت خود قرار دهید. تگ شروع و پایان php هم فراموش نشود.

نمایش برگه ها در فید سایت

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

استفاده از کد بالا باعث میشود که نوشته ها و برگه ها، هر دو در فید شما نمایش داده شود. حالا شاید مایل باشید که فقط و فقط برگه ها را در فید نمایش دهید. این کار هم بسیار ساده است. کافی است در خط سوم، بجای any بنویسید page و تمام! البته این مسئله فقط محدود به صفحات نیست و شما میتوانید هر نوع پست سفارشی ای که ایجاد کرده اید را جایگزین آن کنید.

حالا فرض کنیم که قرار است فقط صفحه های رده ی اول را در فید نمایش دهیم و به زیر صفحه ها کاری نداشته باشیم. برای این کار کد بالا را به شکل زیر تغییر میدهیم :

 اضافه کردن تصاویر بند انگشتی به فید RSS

خوب ایندفعه نحوه ی کارمان کمی متفاوت است. بر عکس دفعه ی قبل، ایندفعه قرار نیست کوئری فیدمان را دست کاری کنیم. ایندفعه قرار است روی محتوای شما (the_content) یک فیلتر اضافه کنیم تا نتیجه ی دلخواهمان را به ما بدهد :

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

در این حالت کافی است خط 13 ام از کد بالا را به شکل زیر تغییر دهید تا تابع از سایز تصاویر تعریف شده توسط شما استفاده کند :

 جلوگیری از نمایش نوشته های دارای برچسب خاص

این بار هم مثل دفعه ی اول قرار است کوئری خود را کمی دستکاری کنیم. چیزی که اینجا نیاز داریم استفاده از set است که به ما اجازه میدهد به نتایج دلخواه خود دست پیدا کنیم. پیش از اینکه کار را ادامه دهیم، در صورت نیاز میتوانید با کلیک بر روی اینجا کمی درباره کوئری ها مطالعه کرده و اطلاعات کسب کنید.
خوب، حالا برای ادامه ی کار نیاز به ID برچسب هایمان داریم. پیدا کردن این ID ها بسیار ساده است. برای این کار کافی است از منوی “نوشته ها” وارد منوی “برچسب ها” شوید. برچسب مورد نظر خود را انتخاب کرده و وارد آن شوید. حالا به آدرسی که در نوار آدرس مرورگر شما ظاهر شده توجه کنید. تقریبا در وسط های آدرس باید چیزی شبیه tag_ID=64 ببنید که البته عدد جلوی آن با عددی که من نوشته ام متفاوت خواهد بود. این ID برچسب مورد نظر شماست که الان قرار است از آن استفاده کنیم. حالا با فرض اینکه من نمیخواهم برچسب های 56، 64 و 110 را نمایش دهم، کد خودم را به شکل زیر مینویسم :

اگر دلتان بخواهد میتوانید اینجا فقط یک برچسب را انتخاب نمایید. الزامی نیست که حتما چند برچسب مورد نظر شما باشد.

تغییر تعداد آیتم های نمایش داده شده در فید

این بخش مطلب خاصی ندارد و همین الان هم بدون یک خط کد نویسی میتوانید با انتخاب گزینه “خواندن” از منوی تنظیمات وردپرس، تعداد آیتم های فید خود را بر اساس نیاز خود تغییر دهید. ولی خوب حالا فرض کنیم یک اتفاق عجیبی افتاد یا حالا به هر دلیلی مایل بودید بدانید پشت قضیه چه اتفاقی در جریان است و از این جور صحبت ها، در اینجا کافی است برای تنظیم تعداد نوشته ها در فیدتان از کد زیر استفاده کنید :

در کد بالا کافی است عدد 25 را به عدد دلخواه خود تغییر دهید.

نمایش نوشته ها فقط از دسته ای خاص در فید

خوب حالا میخواهیم خروجی فید را به نحوی تغییر دهیم که فقط نوشته های دسته بندی خاصی را به نمایش در بیاورد. برای نوشتن کدی که مد نظر داریم، میتوانیم از نام دسته بندی هم استفاده کنیم ولی معمولا در وبسایت های فارسی این کار، کار جالبی نیست. بجای این کار از ID دسته بندی استفاده میکنیم اما خوب تصمیم با شماست. ID دسته بندی ها را هم به همان شیوه ای که قبلا با هم مرور کردیم میتوانید به دست بیاورید. حالا با فرض اینکه دسته بندی مورد نظر ما دارای ID شماره 105 باشد، کدمان را به شکل زیر مینویسیم :

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

جایگزین کردن خط بالا با خط شماره 3 فیلتری که نوشته ایم باعث میشود نوشته های دسته بندی شماره 105 در فید شما نمایش داده نشوند. علامت منها را هم فراموش نکنید.

نمایش محتوای خاص در انتهای فید RSS وبسایتتان

این کار یکی از مهم ترین کارهایی است که میتوانید انجام دهید. (یا یکی از بهترین بلاهایی است که میتوانید سر فیدتان بیاورید!) البته خیلی از افزونه ها مانند WordPress SEO By Yoast این کار را برایتان به سادگی انجام میدهند ولی خوب شاید شما عضوی از جنبش ضد افزونه (؟) باشید و یا شاید مثل مسترکد دلتان بخواهد بدانید هر چیزی چگونه اتفاق می افتد.

در کد اول قصد داریم به سادگی خواننده را به مراجعه مجدد به سایت خود ترغیب (؟) کنیم ، کد خود را به شکل زیر مینویسیم :

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

این ترفند آخر، یعنی اضافه کردن محتوا به انتهای فید، میتواند خیلی برایتان مفید باشد. با همین روش میتوانید به سادگی به انتهای فید خود تبلیغ هم اضافه کنید.

و اما تمامی ترفند هایی که در این مقاله به شما آموزش دادیم، روی فید اصلی وبسایت شما تاثیر میگذارند. اما شاید شما نیاز داشته باشید که یک فید سفارشی ویژه، جدا از فید اصلی سایت برای خودتان بسازید. مشکلی نیست. در ارسالهای بعدی همراه مستر کد باشید تا روش انجام این کار را نیز با هم مرور کنیم.

راستی اگر ترفندی برای استفاده از فید وبسایت و سفارشی کردن آن بلد هستید، فراموش نکنید که در بخش نظرات آن را با ما به اشتراک بگذارید.

دسترسی آسان به این مطلب لینک کوتاه :
شاید از اینها هم خوشتان بیاید!
40 دیدگاه
  1. نیما می گوید

    سلام، چطوری میشه فید رو راست چین کرد؟

    1. MrCode می گوید

      سلام. گرچه توصیه نمیکنم این کار رو انجام بدید ولی این افزونه رو تست کنید بد نیست :
      http://wordpress.org/plugins/rtl-feed-presian/

      دلیل اینکه میگم توصیه نمیکنم اینه که اکثر ابزارهایی که کارشون خوندن فیده (مثلا feedly ) خودشون به محض اینکه زبونی رو در فید میبینن که باید RTL باشه (مثلا زبان فارسی) خودشون فید رو به صورت RTL نشون میدن و اصلا نیازی به RTL کردن فید بلاگتون نیست.

  2. طراحی سایت می گوید

    عالی بود ممنون

    1. MrCode می گوید

      خواهش میکنم. لطف دارید. خوشحالم که مطلب براتون مفید بود 🙂

  3. متین می گوید

    وب شما عالی و زیبا هست ممنون

    1. MrCode می گوید

      ممنون از شما. لطف دارید

  4. اکبر قره باغی می گوید

    بسیار ممنون

  5. محمود می گوید

    با سلام
    درود بر شما . مطلب جالبی بود.
    میشه کاری کرد که فید ارسالی از جانب سایت در استایل دلخواه ارسال بشه. مثلا فید داخل یه جدول با استایل دلخواه ارسال بشه.به عبارتی می خوام بونم میشه کاری کرد که برای فید سایت یه قالب طراحی کرد.؟ مثل خبرنامه.
    خیلی ممنون و سپاس.

    1. MrCode می گوید

      سلام و شب بخیر

      برای کار مورد نظرتون مطلب زیر رو ببینید :
      http://codex.wordpress.org/Customizing_Feeds
      و یا از افزونه ی زیر استفاده کنید :
      http://wordpress.org/plugins/feed-template-customize/

  6. علی می گوید

    سلام مطلبه مفیدی بود

    ولی من خودم به تازگی یک پوسته ساختم و هیچی از فید توش قرار ندادم و وقتی آدرس فید رو میزنم این ارور رو میده :

    This page contains the following errors:

    error on line 10 at column 6: XML declaration allowed only at the start of the document
    Below is a rendering of the page up to the first error.

    باید چیکار کنم تا این مشکل برطرف بشه و قالبم فید داشته باشه؟؟

    هیچ کدی از فید تو قالبم قرار ندادم

    1. MrCode می گوید

      سلام
      در مورد مشکلتون دو تا لینک زیر رو مشاهده کنید :
      http://www.quickonlinetips.com/archives/2009/05/wordpress-feed-xml-parsing-errors/
      http://www.piotrkrzyzek.com/wordpress-remove-blank-line-from-rss-feed-wordpress-error-on-line-2-at-column-6-xml-declaration-allowed-only-at-the-start-of-the-document/

  7. مجید می گوید

    سلام

    خسته نباشید

    چگونه میشود تعداد کارکترهای نمایش داده شده در خوراک را کم کرد ؟
    مثلا فقط 10 کاراکتر را در فید نمایش بدهد…

  8. تورنگ می گوید

    تو خبرنامه هایی که به کاربران ارسال میشه لینک دانلود نیز به نمایش در می آید که نمیخوام اینجوری بشه بلکه میخوام فقط پست اصلی بدون ادامه مطلب تو فید به نمایش در بیاد

    1. MrCode می گوید

      دقیقا منظورتون رو متوجه نمیشم ولی اگر هدفتون این هست که فقط یک خلاصه از مطلب در فید نمایش داده بشه و مطلب کامل نباشه تا کاربران مجبور باشن برای خوندن مطلب کامل به وبسایت شما مراجعه کنند به شکل زیر عمل کنید :

      در بخش ادمین وردپرس از منوی تنظیمات به زیر منوی خواندن مراجعه کنید.
      تنظیم مربوط به نمایش فید رو پیدا کنید (احتمالا عنوانش هست "برای هر نوشته در خوراک نمایش بده") و اون رو روی "خلاصه" تنظیم کنید.

  9. pooria می گوید

    سلام
    خسته نباشید
    ببخشید چطوری میشه کاری‌کرد که تو فید به جای اینکه لینک پست ها به شکل اصلی باشه بهصورت کوتاه نمایش داده بشه؟
    مثلا بجای site.com/دانلود-اهنگ-جدید
    تو فید نشون بده
    Site.com/?p=134

  10. علی می گوید

    سلام خدا قوت

    برادر اگر امکان داره نحوه اضافه کردن نظرات به فید رو هم قرار بدید و یا جهت سفارش این کد مد نظرم بفرمایید کجا و از چه طریقی اقدام کنم..

    باتشکر فراوان

    1. MrCode می گوید

      سلام
      اگر منظورتون اینه که بشه روی فید نظر درج کرد، امکان پذیر نیست.
      اگر منظورتون لینک فید نظراته، لینک زیر رو مشاهده کنید :
      https://codex.wordpress.org/WordPress_Feeds

      1. علی می گوید

        تشکر

        منظورم اینه که فید نظرات رو به مطلب اضافه کنم

        در ادامه متن مطلب در فید , نظرات همون مطلب هم توی فید مطلب نشون داده بشه

        یعنی برای نظرات نخواد فید جدا تعریف کرد و بعد متن مطلب نظرات هم توی فید نشون داده بشه..

  11. علی می گوید

    آیا امکان داره فونت خاصی به فید اضافه کنم که مثلا مطالب با این فونت نمایش داده بشن؟؟

    تشکر

    1. MrCode می گوید

      تا جایی که من اطلاع دارم خیر. فرمت نمایش فید دست ابزار نمایش دهندشه که طبعا هر کدوم از استایل های خودشون استفاده میکنند.

  12. Amvaaj می گوید

    درودو خسته نباشید ممنون میشم کمکم کنید

    من قالبم از ضمینه دلخواه استفاده میکنه توی فید م تصاویر پست و لینک دانلود نشون نمیده

    کدش چیه بتونم تصویر پست و لینک دانلود رو توی فید اضافه کنم

    1. MrCode می گوید

      سلام
      میتونید از این لینک کمک بگیرید :

      https://wordpress.org/support/topic/custom-fields-on-rss-feed-how-to

  13. حمیدرضا می گوید

    سلام جناب من تمام متن ها و ایتم های نوشته هام داخل فید نمایش داده نمیشه

    از تنظیمات هم همه نوشته ها را انتخاب کردم اما بازم مشکل دارم!

    یک نگاه به سایت من بندازین و یک تور را بازکنید ! می خوام تمام ایتم ها نمایش داده شود!

    ممنون میشم کمک کنید باتشکر

  14. مرادی می گوید

    سلام
    چند وقته فید سایت وردپرسی من مشکل پیدا کرده و توی خروجی فقط تیتر مطلب میره و پانویس اون، ولی متن لصلی خبر ارسال نمیشه، لطفا کمکم کنید

    1. MrCode می گوید

      سلام
      ممکنه مشکل از قالبتون باشه و یا اینکه افزونه ای تداخلی در سایتتون ایجاد کرده باشه.
      اشکال قالب محتمل تره. میتونید سوئیچ کنید به قالب اصلی وردپرس و بعد XML فیدتون رو نگاه کنید ببینید اتفاق مثبتی میفته یا خیر …
      برای افزونه ها هم که باید افزونه ها رو غیر فعال کنید و بعد یکی یکی فعالشون کنید ببینید کجا مشکل پیش میاد.
      طبعا بکاپ هم فراموش نشه.

  15. حمیدرضا می گوید

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

    1. MrCode می گوید

      سلام
      اگر مشکلتون عدم نمایش زمینه های دلخواه هست، افزونه ی زیر رو چک کنید احتمالا کمکتون کنه :
      https://wordpress.org/plugins/custom-fields-rss/
      البته این افزونه قدیمی هست. اگر کمی جستجو کنید میتونید مشابهش رو پیدا کنید.

  16. Saeed می گوید

    چطور میشه یه فید جداگانه درست کرد؟ چرا مطلبش رو نمیذارید

  17. حمیدرضا می گوید

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

    1. MrCode می گوید

      دقیقا توی ترفند آخر همین رو توضیح دادیم.

      1. حمیدرضا می گوید

        جناب بنر رو شفاف توضیح نداید ما زیاد تسلط نداریم ممنون میشم شفاف تر توضیح بدید برای بنر چیکار کنیم

      2. MrCode می گوید

        توی آخرین باکس کد، خط 19 اگر دقت کنید به متغیر content کدی که میخواستیم رو نسبت دادیم. حالا این کد میتونه هر چیزی باشه. مثلا همین بنر که شما دنبالش هستید.

  18. نیما می گوید

    وقت شما بخیر
    بنده از فید دسته های سایت وردپرسی ام برای نمایش مطالب در اپلیکیشن اندرویدم دارم استفاده می کنم
    ولی متاسفانه چندتا مشکل زیر را دارم:
    1. عکس ها و ویدئوهای داخل مطالب را با سایز واقعی نمایش می دهد و طبق سایز دستگاه تغییر سایز خودکار نمی دهد ولی خود سایت ریسپانسیو هست. چطور می توان این مشکل را حل کرد؟
    2. گاهی اوقات تیترهایی که داخل مقالات نوشته شده با اینکه در مطلب داخل سایت درست و راست چین درج شده، در اپلیکیشن چپ چین نمایش می دهد. چطور می توان این مشکل را حل کرد؟
    3. گاهی اوقات سایز تیترها و نوشته های داخل مطلب را با اینکه داخل سایت مشکلی ندارد، داخل اپلیکیشن سایزشان را کوچک می کند و نمایش می دهد. چطور می توان این مشکل را حل کرد؟

    1. MrCode می گوید

      سلام
      مواردی که اشاره کردید به اپلیکیشن شما مرتبط هست و نه به سیستم فید وردپرس و طبعا رفعشون هم باید در سطح طراحی و برنامه نویسی اپلیکیشن انجام بگیره.

  19. سعید می گوید

    سلام. چطوری میشه در فید یک دسته خاص فقط عنوان و عکس رو داشته باشیم.
    یعنی متن خوده مطلب نباشه.

  20. محمد می گوید

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

  21. سیروس می گوید

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

  22. علی رضا مهدیه می گوید

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

  23. کامران می گوید

    سلام
    آیا راهی هست که محصولات یک سایت از طریق فید تو سایت دیگه نمایش داد؟

    1. MrCode می گوید

      سلام

      نگاهی به این دو افزونه بکنید شاید باهاشون بتونید چیزی که میخواید رو پیاده سازی کنید :

      https://market.mrcode.ir/?p=114521
      https://market.mrcode.ir/?p=58111

      (لینک سایت رسمی هم جهت کسب اطلاعات بیشتر در لینک های بالا موجوده که میتونید امکانات رو بررسی کنید)

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.