Portfolio navigation loop through same category in The7

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;