نمایش پست های مشابه در وردپرس یکی از موارد بسیار کاربردی برای مشارکت مخاطبان شما در سایت است . وردپرس به شما این قابلیت را می دهد که پست های مشابه برای هر یک از پست تایپ (Post Type) های دلخواه نمایش بدید . نمایش پست های مشابه در وردپرس برای post type ها بسیار ساده است و می توانید بدون پلاگین، آن را پیاده سازی کنید.
پست تایپ وردپرس چیست؟
پست تایپ وردپرس نوعی پست سفارشی در وردپرس هست مثل نوشته ها ، برگه ها یا هر چیز دیگری. مثلا برگه ها نوعی از پست تایپ های وردپرس هستند که با نام page شناخته می شوند. در واقع این پست تایپ ها وردپرس را از یک سیستم وبلاگدهی به یک سیستم مدیریت محتوای قوی تبدیل کرد.
پست تایپ های پیشفرض وردپرس عبارتند از:
- Post
- Page
- Attachment
- Revision
- Nav Menu
حالا شما می توانید برای وردپرس ، بخش های جدیدی ایجاد کنید مثلا : نمونه کارها ، محصولات ، نظرات مشتریان و هر پست تایپ سفارشی دیگری را بسازید. مثلا بخش نمونه کارها را به سایتتان اضافه کنید
اگر قصد نمایش نوشته های مشابه برای پست تایپ های سفارشی را دارید ، باید نوشته ها را بر اساس تاکزونومی (taxonomy) آن fetch کنید . در این آموزش ، به شما نحوه نمایش پست های مشابه در وردپرس را بدون استفاده از افزونه (plugin) را نشان می دهیم .
به طور معمول ، اطلاعات صفحه مشخصات نوشته تکی (single.php) برای پست تایپ سفارشی استفاده می شود . فایل single-custom_post_type.php را در مسیر قالب خود پیدا کنید (اگر قبلا پست تایپ خاصی ساختید ) و کد های زیر را در جایی که قصد نمایش نوشته های مشابه را دارید ، قرار بدید . کد php زیر پست های مشابه پست تایپ سفارشی را نمایش می دهد .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
<?php //get the taxonomy terms of custom post type $customTaxonomyTerms = wp_get_object_terms( $post->ID, 'your_taxonomy', array('fields' => 'ids') ); //query arguments $args = array( 'post_type' => 'your_custom_post_type', 'post_status' => 'publish', 'posts_per_page' => 5, 'orderby' => 'rand', 'tax_query' => array( array( 'taxonomy' => 'your_custom_taxonomy', 'field' => 'id', 'terms' => $customTaxonomyTerms ) ), 'post__not_in' => array ($post->ID), ); //the query $relatedPosts = new WP_Query( $args ); //loop through query if($relatedPosts->have_posts()){ echo '<ul>'; while($relatedPosts->have_posts()){ $relatedPosts->the_post(); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php } echo '</ul>'; }else{ //no posts found } //restore original post data wp_reset_postdata(); ?> |
برای کپی صحیح و کامل کدها ، دابل کلیک کرده تا وارد محیط سفید و کپی شوید در غیر اینصورت امکان دارد اجرای کدها با مشکل روبرو شود
در کد بالا مقدار post_type و taxonomy سفارشی را مشخص کنید . همچنین ، تعداد نمایش پست های مشابه را در posts_per_page نیز می توانید تغییر بدید .
امیدوارم آموزش نمایش پست های مشابه در وردپرس برای شما مفید بوده باشد و بتونید در قالب هایی که برای وردپرس طراحی می کنید ، آن را پیاده سازی کنید و یا اگر قالبی دارید ، آن را در پوسته خود را اضافه کنید.
هر سوالی در پیاده سازی کدها داشتید ، از قسمت نظرات اقدام کنید . سریعا ، پاسخگوی سوالات شما هستیم .
موفق و پیروز باشید.
سلام ممنون از سایت خوبتون,اقای شفیعی من میخواستم یک متا باکس برای لینک دادن به صفحه های دیگردر تاکسونومی دسته بندی ها درست کنم یعنی زمانی که با کوئری یکی ازترم ها رو گرفتم و روش کلیک شد به صفحه ای که میخوام بره من نمیخوام از افزونه استفاده نکنم میشه راهنماییم کنید یا سایت دیگه ای رو معرفی کنید که در این باره توضیح داده باشن واقعا مغذرت میخوام یک سوال غیر مرتبط رو در این مقاله پرسیدم
قسمت مطالب زیر را حتما بخوانید برای همین سایت شما با چه افزونه ای است یا افزونه مشابه معرفی کنید
سلام . از افزونه استفاده نشده و از طریق تگ های این پست , لیست مطالب مشابه رو در سایت نمایش می دیم.
موفق باشید.