urlencode( implode( '|', $fonts ) ), 'subset' => urlencode( $subsets ), ), '//fonts.googleapis.com/css' ); } return $fonts_url; } endif; /** * Fallback For Main Menu */ if ( !function_exists( 'gucherry_blog_navigation_fallback' ) ) { /** * Return unordered list. * * @since 1.0.0 * @return unordered list. */ function gucherry_blog_navigation_fallback() { ?> 0 ) { $excerpt_length = absint( $excerpt_length ); } return $excerpt_length; } } add_filter( 'excerpt_length', 'gucherry_blog_excerpt_length' ); /** * Generate custom search form * * @param string $form Form HTML. * @return string Modified form HTML. */ function gucherry_blog_search_form( $form ) { $form = ''; return $form; } add_filter( 'get_search_form', 'gucherry_blog_search_form' ); add_action('wp_ajax_loadmore', 'gucherry_blog_loadmore_ajax_handler'); // wp_ajax_{action} add_action('wp_ajax_nopriv_loadmore', 'gucherry_blog_loadmore_ajax_handler'); // wp_ajax_nopriv_{action} function gucherry_blog_loadmore_ajax_handler() { // prepare our arguments for the query $args = json_decode( stripslashes( $_POST['query'] ), true ); $args['paged'] = $_POST['page'] + 1; // we need next page to be loaded $args['post_status'] = 'publish'; // it is always better to use WP_Query but not here query_posts( $args ); if( have_posts() ) : // run the loop while( have_posts() ): the_post(); get_template_part( 'template-parts/content', get_post_format() ); endwhile; gucherry_blog_paginator( $_POST['first_page'] ); endif; die; // here we exit the script and even no wp_reset_query() required! } function gucherry_blog_paginator( $first_page_url ){ global $wp_query; $first_page_url = untrailingslashit( $first_page_url ); $first_page_url_exploded = array(); $first_page_url_exploded = explode( "/?", $first_page_url ); $search_query = ''; if( isset( $first_page_url_exploded[ 1 ] ) ) { $search_query = "/?" . $first_page_url_exploded[ 1 ]; $first_page_url = $first_page_url_exploded[ 0 ]; } $posts_per_page = (int) $wp_query->query_vars[ 'posts_per_page' ]; $current_page = (int) $wp_query->query_vars[ 'paged' ]; $max_page = $wp_query->max_num_pages; if( $max_page <= 1 ) { return; } if( empty( $current_page ) || $current_page == 0 ) { $current_page = 1; } $links_in_the_middle = 2; $links_in_the_middle_minus_1 = $links_in_the_middle - 1; $first_link_in_the_middle = $current_page - floor( $links_in_the_middle_minus_1 / 2 ); $last_link_in_the_middle = $current_page + ceil( $links_in_the_middle_minus_1 / 2 ); if( $first_link_in_the_middle <= 0 ) { $first_link_in_the_middle = 1; } if( ( $last_link_in_the_middle - $first_link_in_the_middle ) != $links_in_the_middle_minus_1 ) { $last_link_in_the_middle = $first_link_in_the_middle + $links_in_the_middle_minus_1; } if( $last_link_in_the_middle > $max_page ) { $first_link_in_the_middle = $max_page - $links_in_the_middle_minus_1; $last_link_in_the_middle = (int) $max_page; } if( $first_link_in_the_middle <= 0 ) { $first_link_in_the_middle = 1; } // begin to generate HTML of the pagination $pagination = '
\n"; if( $current_page < $max_page ) { $pagination.= ''; } // replace first page before printing it echo str_replace( array( "/page/1?", "/page/1\"" ), array( "?", "\"" ), $pagination ); }