(function($) { 'use strict'; window.loadMore = function( options, settings ) { // Default Values for Load More Js var optionsValue = { siteUrl: options.siteUrl, totalPosts: options.totalPosts, loadMoreBtn: options.loadMoreBtn, postContainer: options.postContainer, postStyle: options.postStyle, // block, grid, timeline } // Settings Values var settingsValue = { postType: settings.postType, perPage: settings.perPage, postOrder: settings.postOrder, showImage: settings.showImage, showTitle: settings.showTitle, showExcerpt: settings.showExcerpt, showMeta: settings.showMeta, metaPosition: settings.metaPosition, excerptLength: settings.excerptLength, btnText: settings.btnText, categories: settings.categories, } var offset = settingsValue.perPage; optionsValue.loadMoreBtn.on( 'click', function( e ) { e.preventDefault(); $(this).addClass( 'button--loading' ); $(this).find( 'span' ).html( 'Loading...' ); // Rest Api Url Settings if( settings.categories == '' ) { var restUrl = optionsValue.siteUrl+'wp-json/wp/v2/'+settings.postType+'?per_page='+settingsValue.perPage+'&offset='+offset+'&order='+settingsValue.postOrder+'&_embed'; }else { var restUrl = optionsValue.siteUrl+'wp-json/wp/v2/'+settings.postType+'?categories='+settingsValue.categories+'&per_page='+settingsValue.perPage+'&offset='+offset+'&order='+settingsValue.postOrder+'&_embed'; } $.ajax({ url: restUrl, type: 'GET', success: function( res ) { createPostHtml( res ); if( optionsValue.postStyle === 'grid' ) { $( '.eael-post-grid' ).masonry( 'destroy' ); $('.eael-post-grid').masonry({ itemSelector: '.eael-grid-post', percentPosition: true, columnWidth: '.eael-post-grid-column' }); } optionsValue.loadMoreBtn.removeClass( 'button--loading' ); optionsValue.loadMoreBtn.find( 'span' ).html( settingsValue.btnText ); offset = offset + settingsValue.perPage; if( offset >= optionsValue.totalPosts ) { optionsValue.loadMoreBtn.remove(); } }, error: function( err ) { console.log( 'Something went wrong!' ); } }); } ); /** * Create Html Post Block */ function createPostHtml( data ) { if( optionsValue.postStyle === 'timeline' ) { var html = ''; for (var i = 0; i < data.length; i++) { // Get Image if (data[i]._links['wp:featuredmedia']) { var feature_image = 'style="background-image: url(' + data[i]._embedded['wp:featuredmedia'][0].source_url + ');"'; } else { var feature_image = ''; } // Get Date var getPostDate = new Date(data[i].date); html += '
'; html += '
'; html += '
'; html += ''; html += ''; html += '
'; if ( settingsValue.showExcerpt == 1 ) { html += '
'; html += '' + data[i].excerpt.rendered.split(/\s+/).slice(0, settingsValue.excerptLength).join(" "); html += '
'; } if ( settingsValue.showTitle == 1 ) { html += '
'; html += '

' + data[i].title.rendered + '

'; html += '
'; } html += '
'; html += '
'; html += ''; html += '
'; } optionsValue.postContainer.append(html); }else if( optionsValue.postStyle === 'grid' ) { var html = ''; for( var i = 0; i < data.length; i++ ) { // Get Image if( data[i]._links['wp:featuredmedia'] ) { var feature_image = ''; }else { var feature_image = ''; } // Get Date var getPostDate = new Date( data[i].date ); html += '
'; html += '
'; html += '
'; if( data[i]._links['wp:featuredmedia'] ) { html += '
'; html += '
'; html += ''; html += ''; html += '
'; if( settingsValue.showImage == 1 ) { html += '
'+feature_image; html += '
'; } html += '
'; } html += '
'; html += '
'; if( settingsValue.showTitle == 1 ) { html += '

'+data[i].title.rendered+'

'; } if( settingsValue.showMeta == 1 && settingsValue.metaPosition == 'meta-entry-header') { html += ''; } html += '
'; html += '
'; if( settingsValue.showExcerpt == 1 ) { html += '
'; html += '

'+data[i].excerpt.rendered.split( /\s+/ ).slice( 0, settingsValue.excerptLength ).join( " " )+'...

'; html += '
'; } html += '
'; html += '
'; if( settingsValue.showMeta == 1 && settingsValue.metaPosition == 'meta-entry-footer' ) { html += ''; } html += '
'; html += '
'; } optionsValue.postContainer.append( html ); } } } /** * Get Date */ function get_post_date( date ) { var getDate = new Date( date ); var month = new Array(); month[0] = "January"; month[1] = "February"; month[2] = "March"; month[3] = "April"; month[4] = "May"; month[5] = "June"; month[6] = "July"; month[7] = "August"; month[8] = "September"; month[9] = "October"; month[10] = "November"; month[11] = "December"; var dayNum = getDate.getDate(); var monthName = month[ getDate.getMonth() ]; var getYear = getDate.getFullYear(); var returnYear = monthName + ' ' + dayNum + ', ' + getYear; return returnYear; } })(jQuery);