آموزش ایجاد بخش مطالب تصادفی در وردپرس بدون افزونه
آموزش ایجاد بخش مطالب تصادفی در وردپرس بدون افزونه فقط با چند خط کد - بدون نیاز به پلاگین یا افزونه خودت بخش مطالب تصادفی رو ایجاد کن
دوستان سئو 90 سلام . دوستان عزیزی که در زمینه طراحی قالب وردپرس و همچنین در حال یادگیری طراحی قالب هستند ممکنه در بخش هایی از قالب دلشون بخواد که بخشی رو تحت عنوان مطلب تصادفی یا مطالب پیشنهادی برای کاربرانشون نشون بدن . البته مطالب پیشنهادی کمی موضوعش فرق داره و میتونه از یک دسته بندی خاص هم باشه اما مطالب تصادفی غالبا راحت تر و سورس کدش هم جامع تره .
دوستان بخش مطالب تصادفی رو میشه خیلی راحت بوسیله یک حلقه ساده و چند پارامتر کنترلی برای قالب خودمون ایجاد کنیم . تنها نکته مهم در بخش مطالب تصادفی این هست که ما باید مطالب رو به صورت تصادفی از دیتابیس انتخاب کنیم و هربار مطالبی که برای کاربران نشون داده میشن عوض بشن .
یک نکته مهم دیگه این هست که دوستان قالب سایت شما ممکنه هر شکلی باشه . برای مثال ممکنه شما در داخل قالبتون در بخش مطالب تصادفی فقط عنوان مطالب رو نشون بدین و کاربر با کلیک روی اونها به مطلب مورد نظر منتقل بشه . و یا تنها عکس مطالب رو نشون بدین و … همینطور ممکنه شما در بخش مطالب تصافی 10 تا مطلب نشون بدین و تعدادش هم متفاوت باشه . به همین خاطر مثالی که در این بخش زده میشه یک مثال کلی هستش وشما می تونید با توجه به توضیحاتی که ما برای هر خط نوشتیم بیایید و بخش های مختلف رو تغییر بدین .
بعد از اون داخل حلقه اصلی ( while ) هم با توجه به قالب خودتون هستش که تصویر ؛ عنوان یا هر ویژگی دیگه پست ها رو که دریافت می کنید و نشون بدید . توجه داشته باشید که آموزش ایجاد بخش مطالب تصادفی در وردپرس بدون افزونه برای بخش نوشته ها یا همون post هستش و می تونید برای بقیه پست تایپ ها هم با درنظر گرفتن نام پست تایپ اختصاصی اون رو پیاده کنید .
پس بیایید اول کد رو با هم ببینیم و بعد بررسی کنیم :
<?php $rand_posts=new WP_Query(array(
'post_type'=>'post',
'posts_per_page'=>'3',
'post_status'=>'publish',
'orderby' => 'rand',
'order' => 'DESC',
));
if($rand_posts->have_posts()){ ?>
<div class="pages-baner text-center">
<h5>مقالات تصادفی</h5>
</div>
<?php while($rand_posts->have_posts()){ $rand_posts->the_post(); ?>
<a href="<?php the_permalink(); ?>">
<h4><?php the_title(); ?></h4>
</a>
<?php } } ?>
خب حالا بیاییم و کدهامون رو خط به خط بررسی کنیم »
در خط اول که ما یک 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 و اعمال پارامتر های صحیح به اون ، مطالب رو با شرط های مختلف دریافت کرد و نشونشون داد .

امید قدیمی هستم ، 8 سال است که در زمینه طراحی و برنامه نویسی وب سایت فعالیت می کنم . توسعه دهنده فرانت اند ، طراح و برنامه نویس انواع وب سایت های وردپرسی ، فعال در زمینه تولید محتوا و سئو وب سایت