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

اگر در زمینه طراحی قالب وردپرس فعالیت میکنید و یا در حال یادگیری طراحی قالب برای وردپرس هستید ممکن است در بخش هایی از قالب قصد داشته باشید بخشی را تحت عنوان مطالب تصادفی یا مطالب پیشنهادی برای کاربران خود نمایش دهید . البته موضوع مطالب پیشنهادی کمی متفاوت است چراکه احتمال دارد از یک دسته بندی خاص نیز باشند اما مطالب تصادفی را غالبا میتوان راحتتر پیاده کرد چراکه سورس کد مربوط به آن جامعتر و قابل فهم است .
بخش مطالب تصادفی را میتوان بسیار راحت و توسط یک حلقه ساده با چند پارامتر کنترلی برای قالب ایجاد کرد . تنها نکته مهم در بخش مطالب تصادفی اینجاست که باید مطالب را به صورت تصادفی از دیتابیس انتخاب کرده و نمایش دهیم .
یک نکته مهم دیگر در این بخش اینجاست که قالب سایت شما احتمال دارد با هز دیزاینی طراحی شده باشد . برای مثال ممکن است در داخل قالب و در بخش مطالب تصادفی تنها عنوان مطالب رو نمایش دهید و کاربر با کلیک روی آنها به داخل مطلب مورد نظر منتقل شود .
و یا تنها عکس مطالب را نمایش دهید و … همینطور ممکن است در بخش مطالب تصادفی 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 پست را نمایش دهد .
خط چهارم نیز اشاره کردیم پست هایی را نمایش دهد که در وضعیت منتشر شده قرار دارند و پستهایی که در حالت پیش نویس و یا در انتظار هستند را نمایش ندهد .
خط پنجم که مهمترین بخش برای مطالب تصادفی است نحوه مرتبسازی را براساس rand تعیین کردیم تا مطالب هربار بصورت تصادفی نمایش داده شوند و درواقع اصلیترین پارامتر در این WP_Query همین بخش است .
در نهایت در خط ششم نوع مرتب سازی نیز بصورت DESC با شرایط نزولی تعریف کردیم .
خط هشتم به کمک شرط if بررسی میکنیم که آیا WP_Query که نتیجه آن را داخل متغیر به نام rand_posts قرار دادیم ، نتیجه خاصی را دارد یا نه ؟ اگر نداشت که هیچ و کدهای داخل این شرط اجرا نخواهند شد و درکل بخش مطالب تصادفی برای ما نمایش داده نخواهد شد . اما اگر حداقل 1 نتیجه داخل این متغیر برای ما وجود داشت داخل شرط if اجرا شده و سپس نوشته ” مطالب تصادفی ” چاپ و به سراغ اجرای حلقه while خواهد رفت .
با حلقه while و روش کار آن نیز حتما آشنایی دارید و از آن زیاد استفاده کردهاید . طراحی داخل حلقه while بسته به سلیقه خودتان دارد که قالب شما در کدام چارچوب و قالب بندی مطالب را نمایش دهد . که ما در این مثال فقط عنوان و لینک مطلب را قرار دادیم .
پس مشاهده کردید که به چه راحتی میتوان با تشکیل یک WP_Query و اعمال پارامترهای صحیح به آن ، مطالب را با شرط های مختلف دریافت کرده و نمایش دهیم . امیدواریم این محتوای کوتاه برای شما کاربردی باشد . درصورت داشتن هرسئوالی ، حتما در بخش نظرات با ما در ارتباط باشید .