reza_yki 103 ارسال شده در اسفند 94 گزارش بازنشر ارسال شده در اسفند 94 (ویرایش شده) سلام ب تمامی اساتید بنده یه کد نوشتم که مطالب رو به صورت ای جکس لود می کنه مشکلی که دارم اینه که وقتی تعداد نمایش رو بیش از 1 می زنم بعد از اتمام مطالب و به انتها رسیدن مطالب مطلب به صورت تکراری لود میشه کد های فایل js بنده jQuery(document).ready(function ($) { $(document).on('click','#load-more-link',function(event){ event.preventDefault(); var $this = $(this); $this.text('در حال بارگذاری ...'); var $container = $('.box-content'); var $page = parseInt($this.data('page')); $.ajax({ url : data.ajax_url, type:'post', dataType:'json', data:{ action:'load_more_content', page : $page }, //beforeSend:function(){ // var $container = $('.box-content').css('display','none'); // $($container).fadeIn(600) //}, success:function(response , data){ var $data = $(data); $data.hide(); $container.append($data); $data.fadeIn(500); if( parseInt(response.count) > 0){ $this.parent().before(response.content); $this.data('page',parseInt($page+1)); } $this.text('مطالب بیشتر'); if( (response.count) <= 0){ $this.text('مطلبی وجود ندارد'); } }, error:function(){} }); }); //// }); کد فایل php بنده: add_action('wp_ajax_load_more_content','load_more_content'); add_action('wp_ajax_nopriv_load_more_content','load_more_content'); function load_more_content(){ $page = intval($_POST['page']); if($page){ $posts_per_page = 1; $offset = ($page - 1) * $posts_per_page; //$ppg = get_option('posts_per_page'); $load_more_args = array( 'post_type' => array('post','download'), 'offset' => $offset, 'posts_per_page' => $posts_per_page ); $load_more_query = new WP_Query($load_more_args); $output_html = ''; if($load_more_query->have_posts()): while($load_more_query->have_posts()):$load_more_query->the_post(); //get_template_part('loops/loop-main'); $output_html.= '<div class="box-content">'; $output_html.= '<div class="box-img-posts">'; $output_html .= get_the_post_thumbnail($load_more_query->post->ID,'main-thumbnails'); $output_html.= ' <a href="'. get_the_permalink().'"><div class="hover-box tran-2s"></div>'; $output_html.= ' <h2 class="post-title txt-shadow">'; $output_html .= get_the_title(); $output_html.= '</h2></a></div>'; $output_html.= '<!--start meta--><div class="box-content-meta">'; $output_html.= '<span class="meta-posts"><i class="fa fa-calendar-o"></i>'; $output_html.= get_the_date('d F Y', $load_more_query->post->ID) ; $output_html.= '</span>'; $output_html.= '<span class="meta-posts"><i class="fa fa-eye"></i>'.get_post_views (get_the_ID()).'</span> '; $output_html.= '<span class="meta-posts"><i class="fa fa-comments"></i>'; $output_html.= get_comments_number(get_the_ID()); $output_html.= '</span>'; $output_html.= '<span class="meta-posts"><a href="#" data-pid="'. get_the_ID().'" class="like-post"><i class="fa fa-thumbs-up"></i><span>'.get_post_likes(get_the_ID()).'</span></a></span></div>'; $output_html.= '<div class="excerpt"><!--end meta--><!--start excerpt-->'; $output_html.= get_the_excerpt() ; $output_html.= '</div> </div><!--end excerpt-->'; endwhile; endif; $count = count($load_more_query); wp_reset_postdata(); $result = array(); $result['count'] = $count; $result['content'] = $output_html; wp_die(json_encode($result)); } wp_die(json_decode(array('count'=> 0,'error'=>1))); } کد content بنده: <?php $ppg = 5; $all_posts_args = array( 'posts_per_page' => $ppg, ); $all_posts = new WP_Query($all_posts_args); if($all_posts->have_posts()) :?> <?php while($all_posts->have_posts()):$all_posts->the_post(); ?> <div class="box-content" > <div class="box-img-posts"> <?php the_post_thumbnail('main-thumbnails'); ?> <a href="<?php the_permalink(); ?>"><div class="hover-box tran-2s"></div> <h2 class="post-title txt-shadow"> <?php the_title(); ?> </h2></a> </div> <!--start meta--> <div class="box-content-meta"> <span class="meta-posts"><i class="fa fa-calendar-o"></i><?php echo get_the_date('d F Y', get_the_ID()); ?></span> <span class="meta-posts"><i class="fa fa-eye"></i><?php echo get_post_views (get_the_ID()); ?></span> <span class="meta-posts"><i class="fa fa-comments"></i><?php comments_popup_link('0', '1', '%'); ?></span> <span class="meta-posts"><a <?php echo isset($_COOKIE['post-'.get_the_ID()]) && intval($_COOKIE['post-'.get_the_ID()]) ? 'data-liked="1"' : 'data-liked="0"'; ?> href="#" data-pid="<?php echo get_the_ID(); ?>" class="like-post"><i class="fa fa-thumbs-up"></i><span><?php echo get_post_likes(get_the_ID()); ?></span></a></span> </div> <!--end meta--> <!--start excerpt--> <div class="excerpt"> <?php the_excerpt(); ?> </div> <!--end excerpt--> </div> <?php endwhile; else : ?> <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p> <?php endif; ?> یعنی اگر $ppg = 1; غیر از این باشه مطالب تکراری لود میشه اگر هم 1 باشه باید برای نمایش مطالب بیشتر برای هر مطلب یک بار کلیک کرد که این کار خسته کننده است ممنون ویرایش شده اسفند 94 توسط reza_yki نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .