poolmaster 17 ارسال شده در مهر 93 گزارش بازنشر ارسال شده در مهر 93 با سلام خدمت دوستانتوابعی رو نوشتم که توسط اونها اگر مطالبی که منشر میشه دارای دسته مشایه در یکی از 3 کاستوم تاکسونومی series,vips و course در کد زیر باشه سایر مطالبی که دارای دسته مشابه در هر یک از این 3 تاکسونومی باشه رو در صفحه single بصورت لیست نشون میده بطور مثال اگر مطلب شماره یک عضو دسته ای در تاکسونومی vips با عنوان طراحی وب باشه زمانی که مطلب شماره 2 در سایت منتشر بشه و اون هم دارای دسته مشابه در تاکسونومی vips با مطلب شماره یک باشه لینک مطلب شماره یک در صفحه single مطلب شماره 2 نمایش داده میشه و برای سایر تاکسونومی ها هم به همین صورت این کار رو برای این انجام دادم که مثلا اگر در سای داره یه دوره 10 قسمتی آموزشی برگزار میشه در انتهای هر مطلب جدید سایر قسمت های مرتبط به این سری آموزشی هم نمایش داده بشه...حالا مشکلی که وجود داره اینه که زمانی که مطالی هر یک از این تاکسونمی ها رو کاربر باز کنه مثلا مطلب دارای دستع مشابه در تاکسونومی vips برای دستور foreach دو تاکسونمومی دیگه ارور Invalid argument supplied for foreach() نمایش میده از دوستان زحمت نیست اشکال کد رو بهم بگین و اصلاحش کنید ممنون...<?php foreach((get_the_terms($post->ID,'vips')) as $term) { echo '<p> </p>'; } ?><?php foreach((get_the_terms($post->ID,'series')) as $term) { echo '<p> </p>'; } ?><?php foreach((get_the_terms($post->ID,'course')) as $term) { echo '<p> </p>'; } ?><?php $args = array( 'post_type' => 'post', 'order' => 'DESC', 'orderby' => 'date', 'tax_query' => array( array( 'taxonomy' =>'course', 'field' => 'term_id', 'terms' =>$term ) ) ); $r_query = new WP_Query($args); if ($r_query->have_posts()) {echo '<div class="course-container"><div id="flip"><span>لیست سایر قسمت های این مطلب که تاکنون منتشر شده است...</span><div class="arrow-down"></div></div><div id="panel"><div id="course_posts_list" style="margin:0px !important" class="alert alert-info">'; while ($r_query->have_posts()) { $r_query->the_post(); echo '<li><span class="list-icon"> </span><a target="_blank" title="'. get_the_title().'" href="'. get_permalink().'">' . get_the_title() . '</a> <span class="date-tab hidden-xs"> (تاریخ انتشار :'.the_date('d F Y','','',false).')</span></li>'; }echo '</div></div></div>';} wp_reset_postdata(); ?> <?php $args = array( 'post_type' => 'post', 'order' => 'DESC', 'orderby' => 'date', 'tax_query' => array( array( 'taxonomy' =>'series', 'field' => 'term_id', 'terms' =>$term ) ) ); $r_query = new WP_Query($args); if ($r_query->have_posts()) {echo '<div class="course-container"><div id="flip"><span>لیست سایر قسمت های این مطلب که تاکنون منتشر شده است...</span><div class="arrow-down"></div></div><div id="panel"><div id="course_posts_list" style="margin:0px !important" class="alert alert-info">'; while ($r_query->have_posts()) { $r_query->the_post(); echo '<li><span class="list-icon"> </span><a target="_blank" title="'. get_the_title().'" href="'. get_permalink().'">' . get_the_title() . '</a> <span class="date-tab hidden-xs"> (تاریخ انتشار :'.the_date('d F Y','','',false).')</span></li>'; }echo '</div></div></div>';} wp_reset_postdata(); ?><?php $args = array( 'post_type' => 'post', 'order' => 'DESC', 'orderby' => 'date', 'tax_query' => array( array( 'taxonomy' =>'vips', 'field' => 'term_id', 'terms' =>$term ) ) ); $r_query = new WP_Query($args); if ($r_query->have_posts()) {echo '<div class="course-container"><div id="flip"><span>لیست سایر قسمت های این مطلب که تاکنون منتشر شده است...</span><div class="arrow-down"></div></div><div id="panel"><div id="course_posts_list" style="margin:0px !important" class="alert alert-info">'; while ($r_query->have_posts()) { $r_query->the_post(); echo '<li><span class="list-icon"> </span><a target="_blank" title="'. get_the_title().'" href="'. get_permalink().'">' . get_the_title() . '</a> <span class="date-tab hidden-xs"> (تاریخ انتشار :'.the_date('d F Y','','',false).')</span></li>'; }echo '</div></div></div>';} wp_reset_postdata(); ?> نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در مهر 93 گزارش بازنشر ارسال شده در مهر 93 به جای سه خط اول این خط را بگذارید و تست کنید <?php$post_type = get_post_type();foreach((get_the_terms($post->ID, $post_type)) as $term) { echo '<p> </p>'; } ?> 1 نقل قول لینک به ارسال
poolmaster 17 ارسال شده در مهر 93 مالک گزارش بازنشر ارسال شده در مهر 93 استاد با تشکر از راهنمایی شما از کد بالا استفاده کردم و زمانی که var_dump کردم مقدار کاستوم پست post رو برگردوند که از خود کد هم مشخصه که همین کار رو میکنه در حالی که من مقدا کاستوم تاکسونومی ها رو میخواستم در نتیجه از روی کد پیشنهادی شما الگوبرداری کردم و توسط یک آرایه مقادیر کاستوم تاکسونومی ها برگردوندم و درون foreach استفاده کردم اروری هم که در بالا بهش اشاره کردم برطرف شد و الان توابع به درستی کار میکنن البته با کمک شما فقط کدی رو که گذاشتم یه بررسی کنید ببنید از نظر ساختار استاندارد هست یا میشه از کد بهینه تر و مشابه که بهتر و اصولی تر باشه استفاده کرد...باز هم از تمام کمک ها و پاسخ هایی که به سوالات بنده میدید سپاس گذارم.<?php$custom_taxonomy =array ( 'vips','course','series');foreach((get_the_terms($post->ID, $custom_taxonomy)) as $term) { echo '<p> </p>'; }?> 1 نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در مهر 93 گزارش بازنشر ارسال شده در مهر 93 کدتون درسته من اشتباه متوجه شدم فکر کردم برای هر مورد پست تایپ جدا ساختید 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .