رفتن به مطلب

مشکل با ای جکس


پست های پیشنهاد شده

سلام ب تمامی اساتید

بنده یه کد نوشتم که مطالب رو به صورت ای جکس لود می کنه

مشکلی که دارم اینه که وقتی تعداد نمایش رو بیش از 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 باشه باید برای نمایش مطالب بیشتر برای هر مطلب یک بار کلیک کرد که این کار خسته کننده است

 

ممنون

ویرایش شده توسط reza_yki
لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...