PHP Developer

Showing posts with label pagination. Show all posts
Showing posts with label pagination. Show all posts

Thursday, 16 November 2017

WordPress Custom Load More Posts Button Without Plugin

WordPress Custom Load More Posts Without Plugin



STEP 1 : Insert this code in functions.php file

<?php
/************ Pagination Function START *************/
function wp_pagination() {
    global $wp_query;
    $big = 12345678;
    $page_format = paginate_links( array(
        'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
        'format' => '?paged=%#%',
        'current' => max( 1, get_query_var('paged') ),
        'total' => $wp_query->max_num_pages,
        'type'  => 'array'
    ) );
    if( is_array($page_format) ) {
        $paged = ( get_query_var('paged') == 0 ) ? 1 : get_query_var('paged');
        echo '<div class="pagination"><ul>';
        echo '<li><span>'. $paged . ' of ' . $wp_query->max_num_pages .'</span></li>';
        foreach ( $page_format as $page ) {
                echo "<li>$page</li>";
        }
       echo '</ul></div>';
    }
}
/************ Pagination Function END *************/
?>

STEP 2 : Template code to get posts with Load morebutton

<?php
   $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
   query_posts(array(  
       'post_type' => 'product', //Post Type
       'post_status' => 'publish', //Post Status
       'paged' => $paged 
   ));
   ?>
<?php if (have_posts()) : ?>
    <section id="posts">
       <?php while (have_posts()) : the_post(); ?>
       <article class="post"><?php echo get_the_title();?></article><br>
       <?php endwhile; ?>
    </section>
    <?php if ( $wp_query->max_num_pages > 1 ) : ?>
        <nav class="load_more">
           <?php next_posts_link( 'Load More' ); ?>
        </nav>
        <script type="text/javascript">
            jQuery(document).ready(function(){
                jQuery('.load_more a').live('click', function(e){
                    e.preventDefault();
                    var link = jQuery(this).attr('href');
                    jQuery('.load_more').html('<span class="loader">Loading More Posts...</span>');
                    jQuery.get(link, function(data) {
                        var post = jQuery("#posts .post ", data);
                        jQuery('#posts').append(post);
                    });
                    jQuery('.load_more').load(link+' .load_more a');
                });
            });
        </script>
    <?php endif;  ?>
<?php endif;  ?>


Thursday, 15 September 2016

Wordpress Custom Category Template WIth Custom Pagination

Wordpress Custom Category Template WIth Custom Pagination


1) Create new file for custom taxonomy and upload in wordpress theme taxonomy-(taxonomy-name).php
    Example : Id Taxonomy name is "vacancies_uts". Then file name is "taxonomy-vacancies_uts.php".


2) Add this code in functions.php file for pagination anywhere in website

 
<?php
/************ Pagination Function START *************/
function wp_pagination() {
    global $wp_query;
    $big = 12345678;
    $page_format = paginate_links( array(
        'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
        'format' => '?paged=%#%',
        'current' => max( 1, get_query_var('paged') ),
        'total' => $wp_query->max_num_pages,
        'type'  => 'array'
    ) );
    if( is_array($page_format) ) {
        $paged = ( get_query_var('paged') == 0 ) ? 1 : get_query_var('paged');
        echo '<div><ul>';
        echo '<li><span>'. $paged . ' of ' . $wp_query->max_num_pages .'</span></li>';
        foreach ( $page_format as $page ) {
                echo "<li>$page</li>";
        }
       echo '</ul></div>';
    }
}
/************ Pagination Function END *************/
?>
   
3) Add below code in "taxonomy-vacancies_uts.php" and upload in activated theme.

<?php
/**
 * The template for displaying all pages.
 *
*/


get_header(); ?>
<?php

$queried_object = get_queried_object();
$term_id = $queried_object->term_id;
$term_name = $queried_object->name;
?>
<div id="content" class="content" role="main">

<?php
$today = date('m/d/Y');
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

query_posts(array(
//'posts_per_page' => 2,
'post_type' => 'vacancies', //Post Type
'post_status' => 'publish', //Post Status
'tax_query' => array(
    array(
        'taxonomy' => 'vacancies_uts', //Texonomy Name
        'field' => 'id',
        'terms' => $term_id
    )
),
'meta_query' => array(
    array(
        'key' => 'last_date',  //Meta Field name for compare
        'value' => $today,     //Meta Field Value compare with this value
        'compare' => '>='
    )
),
'paged' => $paged
)
);
?>
<?php if ( have_posts() ) : ?>
<div class="cat_heading"><div class="cat_name"><?php echo $term_name;?></div></div>
<table class="vacancies_tables">
<?php while ( have_posts() ) : the_post(); ?>
    <?php $vacancies_elgible = get_the_terms( get_the_ID(), 'vacancies_elgible' );?>
    <tr>
        <td class="vac_title" data-label="Exam"><a href="<?php echo get_the_permalink();?>"><?php echo get_the_title();?></a></td>
        <td class="detail_link" data-label="Details"><a class="home_viewmore" href="<?php echo get_the_permalink();?>">View More</a></td>
    </tr>
<?php endwhile; ?>
</table>
<div class="custom_pagination"><?php wp_pagination(); ?></div>
<?php else : ?>

<?php //get_template_part( 'no-results', 'page' ); ?>
<?php echo "Sorry, no vacancies available under this Category."; ?>

<?php endif;?>

</div><!-- #content -->

<?php get_footer(); ?>

Thursday, 31 March 2016

WordPress Post Custom Pagination Without Plugin

WordPress Post Custom Pagination Without Plugin

This code helps you to create template and get post with pagination without using plugin.

<?php

/*

Template Name: Post Pagination without Plugin in WordPress

*/
get_header();
?>
<?php
global $wp_query;
$big = 999999999; // need an unlikely integer
echo paginate_links( array(
        'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
        'format' => '?paged=%#%',
        'current' => max( 1, get_query_var('paged') ),
        'total' => $wp_query->max_num_pages
) );
?>
<?php
function wp_pagination() {
global $wp_query;
$big = 12345678;
$page_format = paginate_links( array(
    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    'format' => '?paged=%#%',
    'current' => max( 1, get_query_var('paged') ),
    'total' => $wp_query->max_num_pages,
    'type'  => 'array'
) );
if( is_array($page_format) ) {
            $paged = ( get_query_var('paged') == 0 ) ? 1 : get_query_var('paged');
            echo '<div><ul>';
            echo '<li><span>'. $paged . ' of ' . $wp_query->max_num_pages .'</span></li>';
            foreach ( $page_format as $page ) {
                    echo "<li>$page</li>";
            }
           echo '</ul></div>';
}
}
?>

<article id="core_middle_column" class="col-md-8 col-sm-8"><div id="core_ajax_callback"></div>
<div class="clearfix" id="recentlistings">
<?php 

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

query_posts(array( 'posts_per_page' => 2, 'post_type' => 'post', 'post_status' => 'publish', 'post__in' => array(1, 2, 3, 4), 'paged' => $paged ));

if ( have_posts() ) : ?>
<div class="_searchresultsdata">
<div class="panel panel-default">
<div class="list_style  wlt_search_results row">
<?php while ( have_posts() ) : the_post(); ?>
<div class="itemdata col-md-4 item-121 col-sm-6 col-xs-12">
<div class="thumbnail clearfix">
<?php echo get_the_title();?>
</div>
</div>
<?php endwhile; ?>
</div>
</div>
</div>
<div class="custom_pagination"><?php wp_pagination(); ?></div>
<?php else : ?>
<?php // no posts found message goes here ?>
<?php endif; ?>
</div>
</article>
<style>
.custom_pagination ul {
  display: initial;
}

.custom_pagination li:first-child{
 background-color: #fff;
  border: 1px solid #ddd;
  color: #0b5b96;
  list-style: outside none none !important;
  padding: 6px 12px !important;
  text-decoration: none;
  border-radius:15px;
  float:right !important;
}

.custom_pagination li {
  float: left !important;
  list-style: outside none none !important;
}

.custom_pagination .page-numbers {
  background-color: #fff;
  border: 1px solid #ddd;
  color: #0b5b96;
 list-style: outside none none !important;
  padding: 6px 12px !important;
  text-decoration: none;
float: left;
}

.page-numbers.current {
  background-color: #0b5b96 !important;
  color: #fff !important;

}
</style>
<?php
get_footer();
?>

Saturday, 27 February 2016

Custom Pagination Code For Wordpress, PHP with MySql

Custom Pagination Code For Wordpress, PHP with MySql


Pagination in php with custom query


<?php
/**
 * Template Name: Downloded Files Page
 *
 * @package WordPress
 * @subpackage Twenty_Fourteen
 * @since Twenty Fourteen 1.0
 */


get_header(); ?>
<?php
function paginate($reload, $page, $tpages) {
    $adjacents = 2;
    $prevlabel = "&lsaquo; Prev";
    $nextlabel = "Next &rsaquo;";
    $out = "";
    // previous
    if ($page == 1) {
        $out.= "<span>" . $prevlabel . "</span>\n";
    } elseif ($page == 2) {
        $out.= "<li><a  href=\"" . $reload . "\">" . $prevlabel . "</a>\n</li>";
    } else {
        $out.= "<li><a  href=\"" . $reload . "&amp;pageno=" . ($page - 1) . "\">" . $prevlabel . "</a>\n</li>";
    }
 
    $pmin = ($page > $adjacents) ? ($page - $adjacents) : 1;
    $pmax = ($page < ($tpages - $adjacents)) ? ($page + $adjacents) : $tpages;
    for ($i = $pmin; $i <= $pmax; $i++) {
        if ($i == $page) {
            $out.= "<li  class=\"active\"><a href=''>" . $i . "</a></li>\n";
        } elseif ($i == 1) {
            $out.= "<li><a  href=\"" . $reload . "\">" . $i . "</a>\n</li>";
        } else {
            $out.= "<li><a  href=\"" . $reload . "&amp;pageno=" . $i . "\">" . $i . "</a>\n</li>";
        }
    }
   
    if ($page < ($tpages - $adjacents)) {
        $out.= "<li><a style='font-size:11px' href=\"" . $reload . "&amp;pageno=" . $tpages . "\">" . $tpages . "</a>\n</li>";
    }
    // next
    if ($page < $tpages) {
        $out.= "<li><a  href=\"" . $reload . "&amp;pageno=" . ($page + 1) . "\">" . $nextlabel . "</a>\n</li>";
    } else {
        $out.= "<span style='font-size:11px'>" . $nextlabel . "</span>\n";
    }
    $out.= "";
    return $out;
}

$per_page = 2;         // number of results to show per page
$result = mysql_query("SELECT * FROM wp_uploads");
$total_results = mysql_num_rows($result);
$total_pages = ceil($total_results / $per_page);//total pages we going to have

//-------------if page is setcheck------------------//
if (isset($_GET['pageno'])) {
    $show_page = $_GET['pageno'];             //it will telles the current page
    if ($show_page > 0 && $show_page <= $total_pages) {
        $start = ($show_page - 1) * $per_page;
        $end = $start + $per_page;
    } else {
        // error - show first set of results
        $start = 0;             
        $end = $per_page;
    }
} else {
    // if page isn't set, show first set of results
    $start = 0;
    $end = $per_page;
}
// display pagination
$page = intval($_GET['pageno']);

$tpages=$total_pages;
if ($page <= 0)
    $page = 1;
?>

<div id="main-content" class="main-content">
    <div class="container">
        <div id="primary" class="content-area">
            <div id="content" class="site-content" role="main">
                <div class="row">
                    <h2 class="upload_front_head">Uploaded File List</h2>
                    <div class="first_div" style="text-align:center;">
                        <div class="div_heading">
                            <!--<div class="heading_div">S.No.</div>-->
                            <div class="heading_div">Ttile</div>
                            <div class="heading_div">File Name</div>
                        </div>
                        <?php
                        $n= 0;
                        // loop through results of database query, displaying them in the table
                        for ($i = $start; $i < $end; $i++) {
                            $n = $n + 1;
                            // make sure that PHP doesn't try to show results that don't exist
                            if ($i == $total_results) {
                                break;
                            }
                         
                            // echo out the contents of each row into a table
                           
                            echo "<div class='content_row'>";
                                //echo "<div class='content_data'><strong>".$n.".<strong></div>";
                               
                                echo "<div class='content_data'>".mysql_result($result, $i, 'title')."</div>";
                               
                                echo "<div class='content_data'>".mysql_result($result, $i, 'origional_file')."</div>";
                               
                            echo "</div>";
                        } 
                        ?>

                    </div>
                   
                    <div class="pagination_section">
                        <?php
                        $reload = get_page_link() . "?tpages=" . $tpages;
                        echo '<div class="pagination"><ul>';
                        if ($total_pages > 1) {
                            echo paginate($reload, $show_page, $total_pages);
                        }
                        echo "</ul></div>";
                        // pagination
                        ?>
                    </div>
                </div>
            </div><!-- #content -->
        </div><!-- #primary -->
    </div>
</div><!-- #main-content -->
<style>
.pagination_section {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 100%;
}
.pagination {
  height: 40px;
  margin: 20px 0;
}
.pagination ul {
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  display: inline-block;
  margin-bottom: 0;
  margin-left: 0;
}
.pagination ul li {
  display: inline;
}
.pagination li:first-child a, .pagination li:first-child span, .pagination li a {
  border-left-width: 1px;
  border-radius: 3px 0 0 3px;
  color: #3281ae;
  font-weight: 800;
}
.pagination a, .pagination span {
  -moz-border-bottom-colors: none;
  -moz-border-left-colors: none;
  -moz-border-right-colors: none;
  -moz-border-top-colors: none;
  background-color: #fff;
  border-color: #ddd;
  border-image: none;
  border-style: solid;
  border-width: 1px 1px 1px 0;
  float: left;
  line-height: 38px;
  padding: 0 14px;
  text-decoration: none;
}
.pagination .active a, .pagination .active span {
  color: #999;
  cursor: default;
}
.pagination a:hover, .pagination .active a, .pagination .active span {
  background-color: #f5f5f5;
}
</style>

<?php
get_footer();
?>

Tuesday, 31 March 2015

Create Template page to show all posts with pagination

Create Template page to show all posts with pagination


STEP 1.  Upload wordpress simple pagination plugin and activete it (https://wordpress.org/plugins/simple-pagination/)

STEP 2. Copy below code as a template page.

<?php
/*
* Template name: All Posts page
*/

?>

<?php get_header();?>

<div class="pop_cause all_cause">
    <h4>All Posts</h4>

    <?php
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
    <?php $temp = $wp_query;
    $wp_query= null;
    $wp_query = new WP_Query();
    $wp_query->query('posts_per_page=20&post_type=project'.'&paged='.$paged);
    ?>
    <?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
        <h5><?php the_title();?></h5>
    <?php endwhile; ?>

    <?php if(function_exists('wp_simple_pagination')) { wp_simple_pagination(); }  ?>  //This function is use to show pagination and is exist in Simple Pagination Plugin
    <?php $wp_query = null; $wp_query = $temp;?>
</div> 

<?php get_footer(); ?>