Pagination works in the front page but in custom post type page it doesn't appear.
Post type:
add_action('init', 'portfolio_register');
function portfolio_register() {
$args = array(
'label' => __('Portfolio'),
'singular_label' => __('Project'),
'public' => true,
'show_ui' => true,
'capability_type' => 'post',
'hierarchical' => false,
'has_archive' => true,
'rewrite' => true,
'supports' => array('title', 'editor', 'thumbnail', 'custom-fields')
);
register_post_type( 'portfolio' , $args );
flush_rewrite_rules();
}
Pagination function by Kriesi:
function kriesi_pagination($pages = '', $range = 2)
{
$showitems = ($range * 2)+1;
global $paged;
if(empty($paged)) $paged = 1;
if($pages == '')
{
global $wp_query;
$pages = $wp_query->max_num_pages;
if(!$pages)
{
$pages = 1;
}
}
if(1 != $pages)
{
echo "<div class='blogpagination'>";
if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>«</a>";
if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>‹</a>";
for ($i=1; $i <= $pages; $i++)
{
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
{
echo ($paged == $i)? "<span class='blogcurrent'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='bloginactive' style='color:rgb(70, 70, 70);'>".$i."</a>";
}
}
if ($paged < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($paged + 1)."'>›</a>";
if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>»</a>";
echo "</div>\n";
}
}
<?php kriesi_pagination(); ?>
To display pagenation.
Update
The loop:
<div class="container container-2 clearfix">
<?php $loop = new WP_Query( array( 'post_type' => 'portfolio', 'posts_per_page' => -1 ) ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="container container-3 clearfix">
<a href="<?php the_permalink() ?>">
<div class="element _element"></div>
<?php echo get_the_post_thumbnail( $post_id, 'full', array( 'class' => 'image image-2' ) ); ?>
</a>
</div>
<?php endwhile; wp_reset_query(); ?>
<div class="pagenat" > <?php kriesi_pagination(); ?> </div>
</div>
flush_rewrite_rules();
on init and every page load. It is a really expensive function. You should run it once and delete it, or add it to the appropriate hook