WordPress have option for next and previous link loop only through the same category, To make it work for portfolio in The7, overwrite function presscore_post_navigation in your child theme’s functions.php
if ( ! function_exists( 'presscore_post_navigation' ) ) :
/**
* Next/previous post buttons helper.
*
* Works only in the loop. Sample options array:
* array(
* 'wrap' => '<div class="paginator-r inner-navig">%LINKS%</div>',
* 'title_wrap' => '<span class="pagin-info">%TITLE%</span>',
* 'no_link_next' => '<a href="#" class="prev no-act" onclick="return false;"></a>',
* 'no_link_prev' => '<a href="#" class="next no-act" onclick="return false;"></a>',
* 'title' => 'Post %CURRENT% of %MAX%',
* 'next_post_class' => 'prev',
* 'prev_post_class' => 'next',
* next_post_text' => '',
* 'prev_post_text' => '',
* 'echo' => true
* )
*
* @param array $args Options array.
* @since presscore 1.0
*/
function presscore_post_navigation( $args = array() ) {
global $wpdb, $post;
if ( !in_the_loop() ) {
return false;
}
$next_post_text = _x('Prev', 'post nav', LANGUAGE_ZONE);
$prev_post_text = _x('Next', 'post nav', LANGUAGE_ZONE);
$defaults = array(
'wrap' => '<div class="navigation-inner">%LINKS%</div>',
'title_wrap' => '',
'no_link_next' => '<a class="prev-post disabled" href="javascript: void(0);">' . $next_post_text . '</a>',
'no_link_prev' => '<a class="next-post disabled" href="javascript: void(0);">' . $prev_post_text . '</a>',
'title' => '',
'next_post_class' => 'prev-post',
'prev_post_class' => 'next-post',
'next_post_text' => $next_post_text,
'prev_post_text' => $prev_post_text,
'echo' => true
);
$args = apply_filters( 'presscore_post_navigation-args', wp_parse_args( $args, $defaults ) );
$args = wp_parse_args( $args, $defaults );
$title = $args['title'];
if ( false !== strpos( $title, '%CURRENT%' ) || false !== strpos( $title, '%MAX%' ) ) {
$posts = new WP_Query( array(
'no_found_rows' => true,
'fields' => 'ids',
'posts_per_page' => -1,
'post_type' => get_post_type(),
'post_status' => 'publish',
'orderby' => 'date',
'order' => 'DESC'
) );
$current = 1;
foreach( $posts->posts as $index=>$post_id ) {
if ( $post_id == get_the_ID() ) {
$current = $index + 1;
break;
}
}
$title = str_replace( array( '%CURRENT%', '%MAX%' ), array( $current, count( $posts->posts ) ), $title );
}
$output = '';
$output .= str_replace( array( '%TITLE%' ), array( $title ), $args['title_wrap'] );
// next link
if ( 'dt_portfolio' == get_post_type() ) {
$next_post_link = get_next_post_link( '%link', $next_post_text, TRUE, ' ', 'dt_portfolio_category' );
}
else {
$next_post_link = get_next_post_link( '%link', $args['next_post_text'] );
}
if ( $next_post_link ) {
$next_post_link = str_replace( 'href=', 'class="'. $args['next_post_class']. '" href=', $next_post_link );
} else {
$next_post_link = $args['no_link_next'];
}
// previos link
if ( 'dt_portfolio' == get_post_type() ) {
$previous_post_link = get_previous_post_link( '%link', $prev_post_text, TRUE, ' ', 'dt_portfolio_category' );
}
else {
$previous_post_link = get_previous_post_link( '%link', $args['prev_post_text'] );
}
if ( $previous_post_link ) {
$previous_post_link = str_replace( 'href=', 'class="'. $args['prev_post_class']. '" href=', $previous_post_link );
} else {
$previous_post_link = $args['no_link_prev'];
}
$output = str_replace( array( '%LINKS%', '%NEXT_POST_LINK%', '%PREV_POST_LINK%' ), array( $next_post_link . $previous_post_link, $next_post_link, $previous_post_link ), $args['wrap'] );
if ( $args['echo'] ) {
echo $output;
}
return $output;
}
endif;

