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

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

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

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

بعد از اون داخل حلقه اصلی ( while ) هم با توجه به قالب خودتون هستش که تصویر ؛ عنوان یا هر ویژگی دیگه پست ها رو که دریافت می کنید و نشون بدید . توجه داشته باشید که آموزش ایجاد بخش مطالب تصادفی در وردپرس بدون افزونه برای بخش نوشته ها یا همون post هستش و می تونید برای بقیه پست تایپ ها هم با درنظر گرفتن نام پست تایپ اختصاصی اون رو پیاده کنید .

پس بیایید اول کد رو با هم ببینیم و بعد بررسی کنیم :

خب حالا بیاییم و کدهامون رو خط به خط بررسی کنیم »

در خط اول که ما یک WP_Query تشکیل دادیم تا بتونیم شی مورد نظرمون از WP_Query رو بسازیم و اون رو داخل متغیر rand_posts قرار میدیم . در خط 2 نوع پست تایپی که می خواهیم تا مطالب تصادفی رو ازش نمایش بدیم وارد کردیم که چون ما بر روی نوشته ها کار میکنیم پست تایپ ما اسمش post هست . دقیقا می تونید برای بقیه پست تایپ هاتون هم همین کد رو به کار ببرید و کافیه بجایی post ، اسم اون custom post type رو بنویسید .

خط 3 تعداد پست هامون رو مشخص کردیم که ما می خواهیم 3 تا پست برامون لود بشه . خط 4 حتما گفتیم پست هایی رو برای ما لود کنه که منتشر شده باشن و پست هایی که در حالت پیش نویس و یا در انتظار هستند رو برای ما لود نکنه .

خط 5 که مهمترین بخش برای مطالب تصادفی هستش ، ما نحوه مرتب سازی رو براساس rand تعیین کردیم تا مطالب هر بار برای ما بصورت تصادفی لود بشن و در واقع اصلی ترین پارامتر در این WP_Query  همین بخش هستش . در نهایت در خط 6 نوع مرتب سازی رو هم بصورت DESC با همون نزولی تعریف کردیم .

خط 8 به کمک شرط if بررسی میکنیم که آیا WP_Query  که نتیجه اون داخل متغیر به نام rand_posts قرارش دادیم برای ما نتیجه ای رو داره یا نه ؟ اگر نداشت که هیچ و کد های بعد از اون اجرا نمیشن و کلا بخش مطالب تصادفی برای ما نشون داده نمیشه . اما اگر حداقل 1 نتیجه برای ما داشت بعد از شرط if برای ما اجرا میشه . و بعدش نوشته ” مطالب تصادفی ” برای ما چاپ میشه و میره سراغ حلقه while .

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

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

باتشکر ، سئو 90