Adding ajax load more button to my front page

Viewed 4271

I'm using a pre made wordpress theme for my site. However, I wanted to make a custom front-page.php so I did, but now the problem is that I can't figure out how to add the ajax load more button to it. My theme already utilizes the ajax load more button, so I thought it would be simple to add. But I think I may be adding in the code at the wrong spot, or have my queries messed up?

Can anyone help me add this load more button?

my custom front-page.php

<?php 

    get_header(); 
    get_template_part ('inc/carousel'); 

    $the_query = new WP_Query( [ 
        'posts_per_page' => 13, 
        'paged' => get_query_var('paged', 1) 
    ] ); 

    if ( $the_query->have_posts() ) { ?> 
        <div id="ajax"> 
        <?php 
            $i = 0; 
            $j = 0; 
            while ( $the_query->have_posts() ) { 
                $the_query->the_post(); 

                if ( $i % 5 === 0 ) { // Large post: on the first iteration and every 7th post after... ?> 
                    <div class="row"> 
                        <article <?php post_class( 'col-sm-12 col-md-12' ); ?>> 
                            <div class="large-front-container"> 
                                <?php the_post_thumbnail('full', array('class' => 'large-front-thumbnail')); ?> 
                            </div> 
                            <div class="front-page-date"><?php echo str_replace('mins', 'minutes', human_time_diff( get_the_time('U'), current_time('timestamp') ) . ' ago'); ?></div>
                            <h2><a class="front-page-post-title" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> 
                            <p class="front-page-post-excerpt"><?php echo get_the_excerpt(); ?></p> 
                            <div class="front-page-post-info"> 
                                <a class="moretext" href="<?php the_permalink(); ?>">Read more</a> 
                                <?php get_template_part( 'front-shop-the-post' ); ?> 
                                <?php get_template_part( 'share-buttons' ); ?> 
                                <div class="front-comments"><?php comments_popup_link ('0', '1', '%', 'comment-count', 'none'); ?></div> 
                            </div> 
                        </article> 
                    </div> 
                <?php } else { // Small posts ?> 
                    <?php if($j % 2 === 0) echo '<div class="row">'; ?> 
                        <article <?php post_class( 'col-sm-6 col-md-6' ); ?>> 
                            <?php the_post_thumbnail('full', array('class' => 'medium-front-thumbnail')); ?> 
                            <div class="front-page-date"><?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . ' ago'; ?></div>
                            <h2><a class="front-page-post-title" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> 
                            <p class="front-page-post-excerpt"><?php echo get_the_excerpt(); ?></p> 
                            <div class="front-page-post-info"> 
                                <a class="moretext" href="<?php the_permalink(); ?>">Read more</a>
                                <?php get_template_part( 'front-shop-the-post' ); ?>
                                <?php get_template_part( 'share-buttons' ); ?>
                                <div class="front-comments"><?php comments_popup_link ('0', '1', '%', 'comment-count', 'none'); ?></div> 
                            </div>
                        </article> 
                <?php $j++; if($j % 2 === 0) echo '</div>'; ?> 
        <?php 
        } 
        $i++; 
        }?> 
        </div> 
    <?php
    } 
    get_footer();

the post-nav.php code that I found inside my theme

<div class="row pagination-below"><div class="col-md-12">
    <?php 
    $pagination_type = novablog_getVariable('pagination_type') ? novablog_getVariable('pagination_type') : 'pagnum';
    if($pagination_type=='pagnum') :

        the_posts_pagination( array(
            'mid_size' => 3,
            'type' => 'list',
            'prev_text'          => theme_locals("prev"),
            'next_text'          => theme_locals("next")
        ) );
    endif;

    global $wp_query;
    if ( $wp_query->max_num_pages > 1 && $pagination_type=='paglink' ) : ?>
        <div class="paglink">
            <span class="pull-left"><?php previous_posts_link(theme_locals("newer")) ?></span>       
            <span class="pull-right"><?php next_posts_link(theme_locals("older")) ?></span>
        </div>
    <?php endif; ?>

    <?php
        if ( $wp_query->max_num_pages > 1 && $pagination_type=='loadmore' or $wp_query->max_num_pages > 1 && $pagination_type=='infinite' ) { 
            $all_num_pages = $wp_query -> max_num_pages;
            $next_page_url = novablog_next_page($all_num_pages);
    ?>
            <div class="ajax-pagination-container">
              <a href="<?php echo esc_url($next_page_url); ?>" id="ajax-load-more-posts-button"></a>
            </div>
    <?php } ?>
</div></div>

This is how the load more button appears on my local host enter image description here

example of what I want my front page post layout to look like. 1 post on a row, 2 rows of 2 posts on a row, 1 post on a row, and so on. Then after every 15 posts the load more button appears. enter image description here

This is what chrome developer looks like when I inspect the load more button enter image description here

2 Answers
Related