maral_hamidi 82 ارسال شده در آذر 96 مالک گزارش بازنشر ارسال شده در آذر 96 تشکر. من کدهارو انجا میذارم اگه امکانش هست یه نگاهی بندازید ببینید کجای کار رو اشتباه رفتم. نقل قول لینک به ارسال
mehdi... 240 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 در 6 دقیقه قبل، maraljoon گفته است : تشکر. من کدهارو انجا میذارم اگه امکانش هست یه نگاهی بندازید ببینید کجای کار رو اشتباه رفتم. میتونید ادرس انلاین بزارید ؟ تو developer tools تب network فیلتر کنید روی ریکوئست های xhr و وقتی روی دکمه ها کلیک میکنید ببینید ریکوئست ارسال میشه یا خیر 1 نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 در 2 دقیقه قبل، maraljoon گفته است : تشکر. من کدهارو انجا میذارم اگه امکانش هست یه نگاهی بندازید ببینید کجای کار رو اشتباه رفتم. از کجا متوجه بشم کجای کار اشتباهه؟ آدرس سایتتون رو ندادید. نقل قول لینک به ارسال
maral_hamidi 82 ارسال شده در آذر 96 مالک گزارش بازنشر ارسال شده در آذر 96 در 1 دقیقه قبل، mehdi... گفته است : میتونید ادرس انلاین بزارید ؟ تو developer tools تب network فیلتر کنید روی ریکوئست های xhr و وقتی روی دکمه ها کلیک میکنید ببینید ریکوئست ارسال میشه یا خیر سلام. اینو متوجه نشدم. دقیقا باید چیکار کنم؟ لینک میدید بهم؟ نقل قول لینک به ارسال
maral_hamidi 82 ارسال شده در آذر 96 مالک گزارش بازنشر ارسال شده در آذر 96 در 1 دقیقه قبل، mehran-b گفته است : از کجا متوجه بشم کجای کار اشتباهه؟ آدرس سایتتون رو ندادید. روی لوکال کار میکنم. نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 در 1 دقیقه قبل، maraljoon گفته است : روی لوکال کار میکنم. توی فایل ideal.php زیر اولین <?php کد زیر رو قرار بدید و مجدد تست کنید. header('Access-Control-Allow-Origin: *'); نقل قول لینک به ارسال
mehdi... 240 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 (ویرایش شده) در 6 دقیقه قبل، maraljoon گفته است : سلام. اینو متوجه نشدم. دقیقا باید چیکار کنم؟ لینک میدید بهم؟ مثل عکسی که ضمیمه کردم عمل کنید تو تب network گذینه Xhr بعد روی دکمه کلیک کنید ببینید سطری مثل این اضافه میشه و چی Response میده ویرایش شده آذر 96 توسط mehdi... 2 نقل قول لینک به ارسال
maral_hamidi 82 ارسال شده در آذر 96 مالک گزارش بازنشر ارسال شده در آذر 96 فکر میکنم تو توضیح چیزی که میخوام یه اشتباهی کردم. یک صفحه دارم به اسم main.php که توش مطالب مربوط به پست تایپ book رو نمایش میدم. این پست تایپ book دو تا taxonomy به اسم old و new داره. وقتی میخوام مطلب منتشر کنم دو گزینه برای انتخاب دارم. یکی term های مربوط به old و یکی دیگه term مربوط به new. که مثلا برای مطلبی که منتشر میشه تیک term با نام A رو از تکسونومی old و تیک B رو از تکسونومی new فعال میکنم بعد مطلب منتشر میشه. پست های دیگه هم به همین منوال البته با انتخاب term های دیگه منتشر میشن. تو برگه main.php از کد زیر استفاده میکنم تا مطالب مربوط به این پست تایپ که تیک term های تکسونومی new رو اتخاب کردم نمایش بدم. حالا اومدیم بالای این حلقه رادیوباکس هایی گذاشتیم که term های تکسونومی old رو نمایش میدن. و وقتی هر یک از اینا مثلا A انتخاب میشه تو حلقه مطلبی رو نمایش میده که هم تیک یکی از term های مربوط به old براش انتخاب شده (A) و هم تیک Term مربوط به new که اسمش رو گذاشتم B کدهای صفحه main <?php /* Template Name:main */ ?> <?php get_header();?> <script> $(document).ready(function(){ $('input[name="radiofilter"]').change(function(){ $.ajax({ type : "GET", url : "<?php echo home_url('/'); ?>", data : { do : 'filterOld', termid : $(this).val() }, beforeSend : function() { $(".loading").fadeIn(); // show loading }, success : function(response) { $('#result').html(response); // change result $(".loading").fadeOut(); // hide loading } }); }); }); </script> <div class="container-fluid"> <div class="row"> <div class="col-md-12"> <div class="filtering" style="background:#ccc"></div> <?php $terms = get_terms( 'old', array( 'hide_empty' => false, )); if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){ echo '<ul>'; echo '<li><label for="radionull"><input type="radio" name="filterbook" id="radionull" value="null">هیچکدام</label></li>'; foreach ( $terms as $term ) { echo '<li><label for="radio'.$term->term_id.'"><input type="radio" name="filterbook" id="radio'.$term->term_id.'" value="'.$term->term_id.'">'.$term->name.'</label></li>'; } echo '</ul>'; } ?> </div> <?php $args = array( 'post_type' => 'book', 'post_status' => 'publish', 'posts_per_page' => 10, 'ignore_sticky_posts' => 1, 'tax_query' => array( array( 'taxonomy' => 'new', 'field' => 'name', 'terms' => 'B' ) ) ); $query = new WP_Query($args); if($query->have_posts()) : while($query->have_posts()) : $query->the_post(); ?> <div id="result" class="col-md-3 col-sm-3 col-xs-3 clearfix"> <div class="box "> <div class="image clearfix"> <?php the_post_thumbnail(''); ?> </div> <h2 class="posttitle"><?php the_title(); ?></h2> </div> </div> <?php endwhile; wp_reset_postdata(); endif; ?> </div> </div> </div> <?php get_footer();?> بعد یک صفحه ساختم به اسم ideal.php که کدهاش به شکل زیر: <?php $termid = (int) $_GET['termid']; $myposts = new WP_Query( array( 'posts_per_page' => 10, 'post_status' => 'publish', 'ignore_sticky_posts' => 1, 'post_type' => 'book', 'tax_query' => array( array( 'taxonomy' => 'old', 'field' => 'term_id', 'terms' => $termid ) ) ) ); while ( $myposts->have_posts() ) { $myposts->the_post(); the_title(); } wp_reset_postdata(); ?> تو فانکشن هم این اکشن رو گذاشتم <?php add_action('template_redirect', function() { if(isset($_GET['do']) && $_GET['do'] == "filterOld") { add_filter('template_include', function() { return get_template_directory() . '/ideal.php'; }); } }); نقل قول لینک به ارسال
maral_hamidi 82 ارسال شده در آذر 96 مالک گزارش بازنشر ارسال شده در آذر 96 در 27 دقیقه قبل، mehdi... گفته است : مثل عکسی که ضمیمه کردم عمل کنید تو تب network گذینه Xhr بعد روی دکمه کلیک کنید ببینید سطری مثل این اضافه میشه و چی Response میده برای من اینو نمایش میده: نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 درود مجدد به کد زیر توجه کنید: <script> $(document).ready(function(){ $('input[name="radiofilter"]').change(function(){ $.ajax({ type : "GET", url : "<?php echo home_url('/'); ?>", data : { do : 'filterOld', termid : $(this).val() }, beforeSend : function() { $(".loading").fadeIn(); // show loading }, success : function(response) { $('#result').html(response); // change result $(".loading").fadeOut(); // hide loading } }); }); }); </script> توی سلکتور JQuery نوشتیم اگر تگ input ای که اتریبیوت name اش radiofilter بود رویداد change براش اتفاق افتاد AJAX رو اجرا کنه. حالا شما اتربیوت name دکمه های رایویی تون که radiofilter نیست filterbook هست. موفق باشید 1 نقل قول لینک به ارسال
mehdi... 240 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 در 7 دقیقه قبل، maraljoon گفته است : برای من اینو نمایش میده: کد جیکوری را تغییر بدید به این <script> $(document).ready(function(){ $('input[name="radiofilter"]').change(function(){ console.log($(this).val()); $.ajax({ type : "GET", url : "<?php echo home_url('/'); ?>", data : { do : 'filterOld', termid : $(this).val() }, beforeSend : function() { $(".loading").fadeIn(); // show loading }, success : function(response) { console.log(response); $('#result').html(response); // change result $(".loading").fadeOut(); // hide loading }, error: function(XMLHttpRequest, textStatus, errorThrown) { console.log("Status: " + textStatus + " Error: " + errorThrown); } }); }); }); </script> کنسول را باز کنید و روی دکمه رادیو ها کلیک کنید هرچی تو کنسول چاپ شد اسکرین بگیرید بفرستید نقل قول لینک به ارسال
maral_hamidi 82 ارسال شده در آذر 96 مالک گزارش بازنشر ارسال شده در آذر 96 در 5 دقیقه قبل، mehran-b گفته است : موفق باشید سپاسگزارم. انگار مشکل همین بود. الان ایجکس کار میکنه.. الان تو حالت عادی قبل از اینکه اون رادیو باکس هارو انتخاب کنم و چنج بشن با استفاده از اون حلقه ای که گذاشتم دارم مطالبی که تیک term مربوط به new براشون فعال شده رو نمایش میدم. وقتی رادیو باکس ها انتخاب میشن به خوبی مطالبی که term مربوط به old براشون انتخاب شده نمایش داده میشن. ولی همچنان اون new اولی که نمایش داده میشد هم سر جاش هست اینو باید چطوری رفع کنم؟ نقل قول لینک به ارسال
mehdi... 240 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 در 6 دقیقه قبل، maraljoon گفته است : سپاسگزارم. انگار مشکل همین بود. الان ایجکس کار میکنه.. الان تو حالت عادی قبل از اینکه اون رادیو باکس هارو انتخاب کنم و چنج بشن با استفاده از اون حلقه ای که گذاشتم دارم مطالبی که تیک term مربوط به new براشون فعال شده رو نمایش میدم. وقتی رادیو باکس ها انتخاب میشن به خوبی مطالبی که term مربوط به old براشون انتخاب شده نمایش داده میشن. ولی همچنان اون new اولی که نمایش داده میشد هم سر جاش هست اینو باید چطوری رفع کنم؟ باید لایه با ای دی result را خارج کنید از حلقه <?php /* Template Name:main */ ?> <?php get_header();?> <script> $(document).ready(function(){ $('input[name="radiofilter"]').change(function(){ $.ajax({ type : "GET", url : "<?php echo home_url('/'); ?>", data : { do : 'filterOld', termid : $(this).val() }, beforeSend : function() { $(".loading").fadeIn(); // show loading }, success : function(response) { $('#result').html(response); // change result $(".loading").fadeOut(); // hide loading } }); }); }); </script> <div class="container-fluid"> <div class="row"> <div class="col-md-12"> <div class="filtering" style="background:#ccc"></div> <?php $terms = get_terms( 'old', array( 'hide_empty' => false, )); if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){ echo '<ul>'; echo '<li><label for="radionull"><input type="radio" name="filterbook" id="radionull" value="null">هیچکدام</label></li>'; foreach ( $terms as $term ) { echo '<li><label for="radio'.$term->term_id.'"><input type="radio" name="filterbook" id="radio'.$term->term_id.'" value="'.$term->term_id.'">'.$term->name.'</label></li>'; } echo '</ul>'; } ?> </div> <div id="result"> <?php $args = array( 'post_type' => 'book', 'post_status' => 'publish', 'posts_per_page' => 10, 'ignore_sticky_posts' => 1, 'tax_query' => array( array( 'taxonomy' => 'new', 'field' => 'name', 'terms' => 'B' ) ) ); $query = new WP_Query($args); if($query->have_posts()) : while($query->have_posts()) : $query->the_post(); ?> <div class="col-md-3 col-sm-3 col-xs-3 clearfix"> <div class="box "> <div class="image clearfix"> <?php the_post_thumbnail(''); ?> </div> <h2 class="posttitle"><?php the_title(); ?></h2> </div> </div> <?php endwhile; wp_reset_postdata(); endif; ?> </div> </div> </div> </div> <?php get_footer();?> 1 نقل قول لینک به ارسال
maral_hamidi 82 ارسال شده در آذر 96 مالک گزارش بازنشر ارسال شده در آذر 96 در 6 دقیقه قبل، mehdi... گفته است : تشکر فراوان . درست شد. ممنونم الان یه مشکلی هست اینه که وقتی رادیو باکس ها انتخاب میشن همه مطالب منتشر شده ای که مثلا فقط تیک term با اسم A براشون فعال شده رو از همه تکسونومی ها نمایش میده. من میخوام مطالبی رو نمایش بده که مشترک باشن.یعنی وقتی رادیو باکس term با اسم A انتخاب میشه مطالبی رو نمایش بده که هم تیک term مربوط به old براش انتخاب شده باشه هم تیک term مربوط به new. در واقع اولویت با new هست و وقتی که رادیو باکسی انتخاب میشه اگه term اون رادیوباکس توی مطلبی که تیک term مربوط به old براش انتخاب شده باشه فعال نباشه مشترکن اونجا دیگه مطلبی بر اساس اون رادیو باکس نمایش نده. نمیدونم تونستم منظورمو برسونم یا نه. تا اینجا هم واقعا ممنونم از همراهی اساتید عزیز و گرامی جناب @mehdi... و @mehran-b نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 الان با انتخاب هر کدوم از دکمه های رادیویی باید مطالبی از اون ترم انتخاب شده که توی تاکسونومی old هست نمایش داده بشه. اگر اینطوریه که درسته. مگه هدف شما همین نبود؟ نقل قول لینک به ارسال
maral_hamidi 82 ارسال شده در آذر 96 مالک گزارش بازنشر ارسال شده در آذر 96 در 2 دقیقه قبل، mehran-b گفته است : الان با انتخاب هر کدوم از دکمه های رادیویی باید مطالبی از اون ترم انتخاب شده که توی تاکسونومی old هست نمایش داده بشه. اگر اینطوریه که درسته. مگه هدف شما همین نبود؟ درسته. درواقع میخواستم یجورایی مشترک باشه. یکسری term ها هست که نمیخوام اونجا نمایش بده که مخفیشون میکنم. تشکر. دو سوال دیگه دارم ممنون میشم در این مورد هم راهنماییم کنید. 1. اینکه الان تو این رادیو باکس ها یه گزینه هیچ کدام گذاشتیم. میشه بجاش گزینه بذاریم که همه باشه. یعنی همه مطالب مربوط به این تاکسونومی نمایش داده بشه. 2- میخوام یه فیلتر در کنار این فیلتر بسازم که فقط یه فیلد اینپوت داشته باشه که وقتی آیدی هر یکی از این مطالب مربوط به این پست تایپ book رو بهش میدیم اون مطلب با اون آیدی رو فقط نمایش بده. یعنی نمایش مطلب بر اساس آیدی پست این مورد رو چطور میشه اضافه کرد؟ نقل قول لینک به ارسال
maral_hamidi 82 ارسال شده در آذر 96 مالک گزارش بازنشر ارسال شده در آذر 96 و یک سوال دیگه. اون متن لودینگ نمایش داده نمیشه. میشه بجاش از یک تصویر گیف استفاده کرد؟ نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 درود مجدد نقل قول 1. اینکه الان تو این رادیو باکس ها یه گزینه هیچ کدام گذاشتیم. میشه بجاش گزینه بذاریم که همه باشه. یعنی همه مطالب مربوط به این تاکسونومی نمایش داده بشه. اینجا کد توی فایل ideal.php این شکلی میشه: <?php $termid = $_GET['termid']; $args = array( 'posts_per_page' => 10, 'post_status' => 'publish', 'ignore_sticky_posts' => 1, 'post_type' => 'book' ); if(is_numeric($termid)) { if($termid == 0) { $terms_id = wp_list_pluck(get_terms(array('taxonomy' => 'old')), 'term_id'); $args = array_merge($args, array( 'tax_query' => array( array( 'taxonomy' => 'old', 'field' => 'term_id', 'terms' => $terms_id ) ) )); } else { $args = array_merge($args, array( 'tax_query' => array( array( 'taxonomy' => 'old', 'field' => 'term_id', 'terms' => (int) $termid ) ) )); } } $myposts = new WP_Query($args); while ( $myposts->have_posts() ) { $myposts->the_post(); ?> <div class="col-md-3 col-sm-3 col-xs-3 clearfix"> <div class="box"> <div class="image clearfix"> <?php the_post_thumbnail(''); ?> </div> <h2 class="posttitle"><?php the_title(); ?></h2> </div> </div> <?php } wp_reset_postdata(); و کد نمایش دکمه های رادیویی ترم های تاکسونومی old این شکلی میشه: <?php $terms = get_terms(array( 'taxonomy' => 'old', 'hide_empty' => false )); if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){ echo '<ul>'; echo '<li><label for="radioall"><input type="radio" name="filterbook" id="radioall" value="0">همه</label></li>'; foreach ( $terms as $term ) { echo '<li><label for="radio'.$term->term_id.'"><input type="radio" name="filterbook" id="radio'.$term->term_id.'" value="'.$term->term_id.'">'.$term->name.'</label></li>'; } echo '</ul>'; } نقل قول 2- میخوام یه فیلتر در کنار این فیلتر بسازم که فقط یه فیلد اینپوت داشته باشه که وقتی آیدی هر یکی از این مطالب مربوط به این پست تایپ book رو بهش میدیم اون مطلب با اون آیدی رو فقط نمایش بده. یعنی نمایش مطلب بر اساس آیدی پست این مورد رو اگر پاسخ داده نشد تا انتهای امروز پاسخ میدم. نقل قول و یک سوال دیگه. اون متن لودینگ نمایش داده نمیشه. میشه بجاش از یک تصویر گیف استفاده کرد؟ برای نمایش لودینگ متنی در نظر گرفته نشده توی کدها صرفا اگر تگی HTML ای با آیدی loading در صفحه ای که دکمه های رادیویی هست وجود داشته نمایش داده میشه و بعد از اتمام کار AJAX هم مجدد مخفی میشه. موفق باشید نقل قول لینک به ارسال
maral_hamidi 82 ارسال شده در آذر 96 مالک گزارش بازنشر ارسال شده در آذر 96 در 23 دقیقه قبل، mehran-b گفته است : تشکر. درسته. آیا میشه تغییری ایجاد کرد که وقتی گزینه همه انتخاب میشه فقط مطالبی رو نشون بده بر اساس term هایی که میخوایم. مثلا بر اساس ایدی چند term موجود که خودمون بهش بدیم. در 23 دقیقه قبل، mehran-b گفته است : برای نمایش لودینگ متنی در نظر گرفته نشده توی کدها صرفا اگر تگی HTML ای با آیدی loading در صفحه ای که دکمه های رادیویی هست وجود داشته نمایش داده میشه و بعد از اتمام کار AJAX هم مجدد مخفی میشه. دقیقا کدوم بخش از صفحه باید این تگ گذاشته بشه. به این شکل تو این قسمت ازش استفاده کردم. ولی اون متنی که گذاشتم برای لودینگ نمایش نمیده <div class="col-md-3 col-sm-3 col-xs-3 clearfix"> <div class="box "> <div class="image clearfix"> <?php the_post_thumbnail(''); ?> </div> <h2 class="posttitle"><?php the_title(); ?></h2> </div> </div> <?php endwhile; wp_reset_postdata(); endif; ?> <div id="loading"><h3>لطفا کمی صبر کنید </h3></div> </div> نقل قول لینک به ارسال
maral_hamidi 82 ارسال شده در آذر 96 مالک گزارش بازنشر ارسال شده در آذر 96 در 2 ساعت قبل، maraljoon گفته است : دقیقا کدوم بخش از صفحه باید این تگ گذاشته بشه. به این شکل تو این قسمت ازش استفاده کردم. ولی اون متنی که گذاشتم برای لودینگ نمایش نمیده مشکل لودینگ رو فهمیدم. من از آیدی استفاده میکردم. ولی تو کدها کلاس loading تعریف شده بود. که الان درست شده. نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 درود مجدد نقل قول 2- میخوام یه فیلتر در کنار این فیلتر بسازم که فقط یه فیلد اینپوت داشته باشه که وقتی آیدی هر یکی از این مطالب مربوط به این پست تایپ book رو بهش میدیم اون مطلب با اون آیدی رو فقط نمایش بده. یعنی نمایش مطلب بر اساس آیدی پست برای این سوال ابتدا یه فایل php مثلا به اسم filterid.php توی فایل های قالبتون میسازید و کدهای زیر رو درونش قرار میدید. <?php $post_id = $_GET['post_id']; if(!is_numeric($post_id)) { echo "آیدی پست باید عددی باشد"; exit; } if("publish" != get_post_status($post_id)) { echo "پستی با این آیدی وجود ندارد"; exit; } $args = array( 'ignore_sticky_posts' => 1, 'post_type' => 'book', 'p' => (int) $post_id ); $query = new WP_Query($args); if($query->have_posts()) : while($query->have_posts()) : $query->the_post(); ?> <div class="col-md-3 col-sm-3 col-xs-3 clearfix"> <div class="box"> <div class="image clearfix"> <?php the_post_thumbnail(''); ?> </div> <h2 class="posttitle"><?php the_title(); ?></h2> </div> </div> <?php endwhile; wp_reset_postdata(); else : echo "پستی با این آیدی وجود ندارد"; endif; سپس در فایل functions.php قالبتون کد زیر رو قرار میدید: add_action('template_redirect', function() { if(isset($_GET['do']) && $_GET['do'] == "filterID") { add_filter('template_include', function() { return get_template_directory() . '/filterid.php'; }); } }); سپس برای بحث فرانت اِند مثلا با کد ساده زیر input مورد نظر رو ایجاد میکنید: <ul> <li> <label for="pid">آیدی پست</label> <input id="pid" name="pid" type="number" /> </li> </ul> و با کد JQuery زیر هم اگر درون input چیزی وارد شد یه درخواست به صورت AJAX ارسال میشه به صفحه filterid.php و نتیجه در صورت وجود بازگشت داده میشه: <script> jQuery(function($) { $('input#pid').change(function(){ $.ajax({ type : "GET", url : "<?php echo home_url('/'); ?>", data : { do : 'filterID', post_id : $(this).val() }, beforeSend : function() { $(".loading").fadeIn(); }, success : function(response) { $('#result').html(response); $(".loading").fadeOut(); } }); }); }); </script> نقل قول آیا میشه تغییری ایجاد کرد که وقتی گزینه همه انتخاب میشه فقط مطالبی رو نشون بده بر اساس term هایی که میخوایم. مثلا بر اساس ایدی چند term موجود که خودمون بهش بدیم. بله این مورد هم ممکنه. کد ideal.php این شکلی میشه: <?php $termid = $_GET['termid']; $args = array( 'posts_per_page' => 10, 'post_status' => 'publish', 'ignore_sticky_posts' => 1, 'post_type' => 'book' ); if(is_numeric($termid)) { $args = array_merge($args, array( 'tax_query' => array( array( 'taxonomy' => 'old', 'field' => 'term_id', 'terms' => (int) $termid ) ) )); } } else { $terms_id = array_map('intval', array_map('trim', explode(",", $termid))); $args = array_merge($args, array( 'tax_query' => array( array( 'taxonomy' => 'old', 'field' => 'term_id', 'terms' => $terms_id ) ) )); } $myposts = new WP_Query($args); while ( $myposts->have_posts() ) { $myposts->the_post(); ?> <div class="col-md-3 col-sm-3 col-xs-3 clearfix"> <div class="box"> <div class="image clearfix"> <?php the_post_thumbnail(''); ?> </div> <h2 class="posttitle"><?php the_title(); ?></h2> </div> </div> <?php } wp_reset_postdata(); و کد مربوط به ساخت دکمه های رادیویی این شکلی میشه: <?php $terms = get_terms(array( 'taxonomy' => 'old', 'hide_empty' => false )); if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){ echo '<ul>'; echo '<li><label for="radioall"><input type="radio" name="filterbook" id="radioall" value="x,x,x,x,x">همه</label></li>'; foreach ( $terms as $term ) { echo '<li><label for="radio'.$term->term_id.'"><input type="radio" name="filterbook" id="radio'.$term->term_id.'" value="'.$term->term_id.'">'.$term->name.'</label></li>'; } echo '</ul>'; } کد اون قیمت که 5 تا x رو با ورگویل انگلیسی جدا کردم باید آیدی دسته هایی رو بزنید که وقتی کاربر همه رو انتخاب کرد میخواید پست های اون دسته ها نمایش داده بشه و آیدی دسته های مورد نظر رو با ویرگول انگلیسی از هم جدا کنید. موفق باشید 2 نقل قول لینک به ارسال
maral_hamidi 82 ارسال شده در آذر 96 مالک گزارش بازنشر ارسال شده در آذر 96 در ۱ ساعت قبل، mehran-b گفته است : درود مجدد برای این سوال ابتدا یه فایل php مثلا به اسم filterid.php توی فایل های قالبتون میسازید و کدهای زیر رو درونش قرار میدید سلام و درود. تشکر از لطفتون.. کدهارو جاگذاری کردم. ایجکس ارسال میشه ولی در هر صورت پیغام پستی با این ایدی وجود ندارد رو نمایش میده. آیدی پستی که منتشر شده رو میدم ولی این پیغام ظاهر میشه. آیا نیاز نیست بهش بگیم که آیدی مربوط به پست های این پست تایپ خاص که اسمش book هست رو نمایش بده؟؟ و یه مورد دیگه. چطور میشه برای این مورد (نمایش بر اساس آیدی) نتایج رو به یک صفحه دیگه ارسال کنیم و تو این صفحه main نمایش ندیم. مثلا تو یه صفحه ای به اسم event.php نتایج رو نمایش بده نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 درود مجدد نقل قول کدهارو جاگذاری کردم. ایجکس ارسال میشه ولی در هر صورت پیغام پستی با این ایدی وجود ندارد رو نمایش میده. آیدی پستی که منتشر شده رو میدم ولی این پیغام ظاهر میشه. توی کدهای فایل filterid.php در دو جا پیغام پستی با این آیدی وجود ندارد ارسال می شود. یکی از پیغام ها رو به چیز دیگری تغییر بدید که دقیقا بفهمیم مشکل از کدوم بخشه. نقل قول آیا نیاز نیست بهش بگیم که آیدی مربوط به پست های این پست تایپ خاص که اسمش book هست رو نمایش بده؟؟ این مورد رو توی آرگومان حلقه گفتیم. نقل قول چطور میشه برای این مورد (نمایش بر اساس آیدی) نتایج رو به یک صفحه دیگه ارسال کنیم و تو این صفحه main نمایش ندیم. مثلا تو یه صفحه ای به اسم event.php نتایج رو نمایش بده همین طور که یه صفحه ساختید به اسم main یکی دیگه بسازید به اسم event و تفاوتشون اینه که توی main دکمه های رادیویی ترم ها هست ولی توی event این فیلد ورود آیدی پست و نمایش اون پست مورد نظر هست. 1 نقل قول لینک به ارسال
maral_hamidi 82 ارسال شده در آذر 96 مالک گزارش بازنشر ارسال شده در آذر 96 (ویرایش شده) این بخش از نمایش خطای کد رو تغییر دادم wp_reset_postdata(); else : echo "not found"; endif; ?> الان این not found رو نمایش میده. البته چندتا از پست هارو تست کردم. بعضی از آیدی هارو وارد میکنم not found رو نمایش میده برای بعضی ها هم پستی با این ایدی وجود ندارد رو نمایش میده ویرایش شده آذر 96 توسط maraljoon نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در آذر 96 گزارش بازنشر ارسال شده در آذر 96 درود مجدد متاسفانه خودم الان امکانش نیست کد رو تست کنم ولی کد به نظر درست میاد. شما آیدی پستی رو که میدونید هست کپی کنید از جای دیگری و پیست کنید توی فیلد ببینید بازم مشکل برقراره یا خیر. نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .