نمایش پست های مرتبط در وردپرس
در این آموزش کوتاه و کاربردی، بدون نیاز به پلاگینهای پولی و رایگان، اگر کمی با کدنویسی HTML و PHP آشنا باشید، میتوانید پستهای مرتبط با پست فعلی خود را نمایش دهید.
کد نمایش پست های مرتبط در وردپرس
پلاگینهای زیادی برای این منظور وجود دارد، اما هنگامی که زمان یافتن پستهای مرتبط می شود، قضیه فرق میکند. در اینجا برای دریافت پستهایی از دستههای مرتبط، روش سادهتری را بررسی میکنیم که نیازی به پلاگین ندارد.
آنچه میخوانید:
لیست کردن مطالب
// current post categories $current_post_categories = wp_get_post_categories( get_the_ID() ); // query arguments $args = array( 'posts_per_page' => 3, 'category__in' => $current_post_categories, 'post__not_in' => array( get_the_ID() ), 'orderby' => 'rand', 'no_found_rows' => true, 'ignore_sticky_posts' => true, ); // query posts $codismo_query = new WP_Query( $args ); // if there are posts if ( $codismo_query->have_posts() ) { // posts loop while ( $codismo_query->have_posts() ) { // get the current post in the loop $codismo_query->the_post(); // your post output here } // reset post date wp_reset_postdata(); }
در قسمت category__in ما از دستههای پست فعلی استفاده میکنیم، مطمئن میشویم که پست فعلی با استفاده از post__not_in دیگر در لیست نمایش داده نشود. مقدار orderby را روی rand تنظیم کردهایم که در این حالت پستها بصورت تصادفی نمایش داده میشوند.
دلیل استفاده از no_found_rows => true این است که کمی سرعت جستجو را افزایش دهیم، ما از صفحهبندی استفاده نمیکنیم، بنابراین نیازی به آن نیست.
محدودیت تاریخ
اگر پستهای زیادی دارید، میتوانیم با حذف پستهای قدیمیتر، آنها را کمی بهبود ببخشیم. به عنوان مثال این کدی است که پستهای قدیمیتر از ۱ سال را حذف میکند.
$args = array( 'posts_per_page' => 3, 'category__in' => $current_post_categories, 'post__not_in' => array( get_the_ID() ), 'orderby' => 'rand', 'no_found_rows' => true, 'ignore_sticky_posts' => true, 'date_query' => array( array( 'column' => 'post_date_gmt', 'after' => '1 year ago', ), ), );
لیست کردن مطالب با تصویر شاخص
در بهترین حالت نمایش پستهای مرتبط با یک تصویر بسیار زیباتر خواهند بود، این کد پستهایی که تصویر ندارند را نادیده میگیرد.
$args = array( 'posts_per_page' => 3, 'category__in' => $current_post_categories, 'post__not_in' => array( get_the_ID() ), 'orderby' => 'rand', 'no_found_rows' => true, 'ignore_sticky_posts' => true, 'meta_query' => array( array( 'key' => '_thumbnail_id' ) ), );
آیا PHP یک زبان در حال مرگ است؟
آیا PHP یک زبان برنامه نویسی در حال مرگ است؟ پیش از اینکه به «آیا کمتر از PHP استفاده میشود؟» نگاهی بیندازیم، اجازه دهید با نکات مهمی که باید در […]
هفت عادت بد کدنویسی PHP
هفت عادت که ممکن است مانع از بینقص بودن کد PHP شما شود هفت عادت بد یا نقص کدنویسی PHP در این پست، لیستی از ۷ مشکل معمول که ممکن […]
اضافه کردن ستون تاریخ ثبت نام کاربر به صفحه کاربران
اضافه کردن ستون تاریخ ثبت نام کاربر به صفحه کاربران ادمین وردپرس در این اسکرین شات، ستون تاریخ ثبت نام اضافه شده است و وقتی روی عنوان آن کلیک میکنید، […]
۱۵ موردی که باید قبل از تغییر تم وردپرس انجام دهید
پانزده موردی که باید پیش از تغییر تم وردپرس انجام دهید اقدامات قبل از تغییر تم وردپرس در این مقاله چک لیستی از کارهایی که باید پیش از تغییر قالب […]