بخش Vip سئو نود

بهترین فرصت برای یادگیری در قسمت Vip سئو نود هم اکنون برای دانشجوبان عزیز فراهم شده است

جزئیات بیشتر
آموزش یکبار برای همیشه
40 تا 60 درصد تخفیف برای دوره های جامع سایت

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

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

0 292

دوستان سئو 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 سال است که در زمینه طراحی و برنامه نویسی وب سایت فعالیت می کنم . توسعه دهنده فرانت اند ، طراح و برنامه نویس انواع وب سایت های وردپرسی ، فعال در زمینه تولید محتوا و سئو وب سایت

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