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

دوستانی که علاقمند به طراحی قالبهای اختصاصی وردپرس هستند حتما اطلاع دارند که در بخش single post و یا همان فایل single.php زمانیکه در حال طراحی قالب بخش جزئیات نوشتهها هستیم و قصد داریم تا صفحه مطالب تکی را طراحی کنیم ، جهت استاندارد سازی قالب و همچنین از لحاظ داشتن سئوی اصولی ، لازم است تا محتوای مرتبط برای مطلب فعلی را در بخشی از صفحه نمایش دهیم .
برای نمایش مطالب مرتبط درهر بخش ( توجه داشته باشید که این آموزش برای پست تایپ از نوع post یا همان نوشتهها است و برای پست تایپهای اختصاصی یا همان ” Custom Post Type ” ها آموزش دیگری خواهیم داشت ) باید داخل صفحه single.php و در محلی خارج از حلقه اصلی نمایش محتوا یا همون حلقه while باشیم .
تصور میکنیم که داخل قالب در محلی که برای نمایش مطالب مرتبط در نظر گرفتیم هستیم و قصد داریم که کد زدن را شروع کنیم . اصول طراحی مطالب مرتبط بر اساس دسته بندی به این شکل است :
- ابتدا یک شی WP_Query خواهیم ساخت تا یک کوئری اختصاصی برای نمایش پستهایی با پارامترهای دلخواه داشته باشیم .
- ابتدا باید دستهبندی محتوای فعلی را دریافت کنیم . برای مثال این محتوا که شما در حال مطالعه آن هستید در دسته بندی ” مقالات آموزش وردپرس ” دسته بندی شده است پس لازم است تا این دسته بندی را در اختیار داشته باشم و پست های مرتبط با دسته مقالات آموزش وردپرس را نمایش دهیم .
- سپس تعداد مطالب مرتبطی که قصد نمایش داریم را تعیین کنیم .
- حتما پستهایی را انتخاب کنیم که در حالت انتشار باشند نه حالت پیشنویس و در دست بررسی !
- این مرحله از کار ، از همه مهمتر است ، زمانیکه پستهای مرتبط از نظر دسته بندی با پست فعلی را دریافت میکنیم ممکن است که خود همین پست فعلی را نیز داخل مرتبطها برای ما نمایش دهد . از این جهت که پست فعلی نمایش داده نشود باید از یک شرط دیگر نیز استفاده کنیم .
- می توانیم حالت مرتبسازی را نیز برای نمایش محتوا تعیین کنیم که آیا هربار مطالب به شکل تصادفی از دسته مرتبط برای ما نمایش داده شوند یا آخرین مطالبی که در این دسته ارسال شده است را نمایش دهیم .
این سناریو کلی برای ساخت قسمت محتوای مرتبط در قالبهای وردپرسی است که باید به خاطر داشته باشید . اما در ادامه دقیقا طبق همین سناریو ، کدنویسی خواهیم کرد و خواهید دید که دقیق طبق هرچیزی که در زبان فارسی نوشته شده است ، به زبان کد روی پروژه میتوان پیاده کرد .
چگونه کد این بخش را ایجاد کنیم ؟
همانطور که در عنوان مقاله گفته شده است تصمیم داریم آسان ترین روش ساخت مطالب مرتبط در وردپرس را بدون افزونه خدمتتان آموزش دهیم لذا نباید بیش از چندین خط کد بنویسیم . ابتدا کد اصلی را ببینیم و سپس در ادامه بصورت خط به خط کد را تشریح کنیم :
<?php $related_posts =new WP_Query(array(
'post_type'=>'post',
'posts_per_page'=>'2',
'post_status'=>'publish',
'category__in'=> wp_get_post_categories($post->ID),
'post__not_in'=>[$post->ID],
));
if($related_posts ->have_posts()){ ?>
<div class="pages-baner text-center">
<h5>مقالات مرتبط</h5>
</div>
<?php while($related_posts ->have_posts()){ $related_posts ->the_post(); ?>
<div class="blg-wrapper col-md-3">
<a href="<?php the_permalink(); ?>">
<figure>
<?php if(has_post_thumbnail()){ ?>
<img src="<?php the_post_thumbnail_url(); ?>" alt="">
<?php } ?>
</figure>
</a>
<div class="meta">
<i class="fa fa-calendar-o"></i> <?php echo get_the_date(); ?>
</div>
<a href="<?php the_permalink(); ?>">
<h4><?php the_title(); ?></h4>
</a>
<?php the_excerpt(); ?>
<div class="text-right"><a href="<?php the_permalink(); ?>">بیشتر بخوانید</a></div>
</div>
<?php } } ?>
خب !
در خط اول کد ، یک WP_Query برای ساخت شی اختصاصی از پستها ایجاد کرده و تمام کد را داخل متغیری با نام related_posts ( نام اختیاری ) قرار دادیم .خط 2 تا 6 پارامترهایی هستند که توسط آنها مشخص میکنیم قصد داریم چه نوع پستهایی را دریافت کنیم .
خط دوم کد ، نوع پست تایپ را مشخص کرده است ، به این دلیل که بروی محتوای نوشتهها کار میکنیم ، نامک این قسمت ” post ” است . اگر قصد دارید تا محصولات مرتبط از ووکامرس را نمایش دهید باید این قسمت را ” product ” درنظر بگیرید .
خط سوم تعداد پست هایی است که قصد نمایش آنها را داریم که تعداد 2 پست را برای نمایش تعیین کردیم . ( لازم است بدانید که تنظیم عدد 1- ، تمام پست هارا نمایش خواهد داد ) .
خط چهارم تعیین کردیم که حتما پستها در وضعیت منتشر شده باشند .
خط پنجم یک تایع بسیار جذاب از سری توابع مخصوص وردپرس است که wp_get_post_categories نام داشته و یک پارامتر ورودی دارد که آیدی ( ID ) پست فعلی است و آیدی پست فعلی را به کمک دستور post->ID دریافت میکنیم و به این تابع ارسال میکنیم .
خط ششم نیز تعیین کردیم که تمامی پستهای مرتبط برای ما نشان داده شوند ( بجز همین پست که در داخل آن هستیم ) . دقت کنید که این دستور تا این حالت ، جدیدترین پستهای مرتبط را نمایش میدهد . اگر قصد دارید پستها بصورت تصادفی نمایش داده شوند ، باید دو خط زیر را نیز به شرایط WP_Query اضافه کنید :
'orderby' => 'rand',
'order' => 'DESC',
در این حالت شما میتوانید پستهای مرتبط را به شکل تصادفی نمایش دهید .
اکنون ادامه کد ها را بررسی کنیم !
در خط هشتم توسط یک شرط if چک می کنیم که آیا چنین دستوری که ما درنظر گرفتیم وجود داشته و داخل آن مطلبی جهت نمایش وجود دارد یا خیر؟! اگر وجود داشت که ادامه کدها برای ما اجرا خواهند شد و اگر نداشت ، بخش های بعدی که پس از دستور if قراردارند اجرا میشوند .
حال اگر مطالب مرتبط داخل این WP_Query وجود داشت بعد از if برای ما اجرا خواهند شد . بعد از این بخش ، همان حلقه وردپرس است که با while نوشته شده و توابع داخل حلقه که the_permalink و the_title و … هستند بسته به نوع طراحی قالب شما در بخش مطالب مرتبط دارند تنظیم میشوند . شما با توجه به طراحی قالب خودتان باید تصمیم بگیرید که چگونه کدهای وردپرس را استفاده کنید .
برای مثال در خط 17 ، تصویر شاخص را نیز نمایش دادیم که احتمال دارد مطالب مرتبط در قالب شما فقط شامل بخش عنوان و لینک باشند که بازهم به طراحی قالب شما در محل مدنظر بستگی دارد .
این نکته را مدنظر داشته باشید که این روش آسان ترین روش ساخت مطالب مرتبط در وردپرس بدون افزونه و توسط کدهای استاندارد است که در تمامی قالبهای وردپرس بدون مشکل قابل اجرا است .
نکته مهم دیگری وجود دارد که مطالب مرتبط را میتوان بر پایه برچسبها و یا دستهها و یا حتی هردو پیاده کرد . به این دلیل که تعداد برچسبها در سایتها بسیار زیاد هستند ، اصولیترین روش برای ساخت مطالب مرتبط ایجاد آنها از یک دسته بندی مشابه است .
امیدواریم این آموزش برای شما مفید بوده باشد . لطفا نظرات خودتان را در بخش نظرات با ما به اشتراک بگذارید تا در بهبود سطح آموزش ها لحاظ شوند . پاینده باشید .