Created
January 30, 2018 03:13
-
-
Save generatepress/803a950d6381dd98e6bc4418b817ed82 to your computer and use it in GitHub Desktop.
Exclude categories from single post pagination
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if ( ! function_exists( 'generate_content_nav' ) ) { | |
/** | |
* Display navigation to next/previous pages when applicable. | |
* | |
* @since 0.1 | |
* | |
* @param string $nav_id The id of our navigation. | |
*/ | |
function generate_content_nav( $nav_id ) { | |
if ( ! apply_filters( 'generate_show_post_navigation', true ) ) { | |
return; | |
} | |
global $wp_query, $post; | |
// Don't print empty markup on single pages if there's nowhere to navigate. | |
if ( is_single() ) { | |
$previous = ( is_attachment() ) ? get_post( $post->post_parent ) : get_adjacent_post( false, '', true ); | |
$next = get_adjacent_post( false, '', false ); | |
if ( ! $next && ! $previous ) { | |
return; | |
} | |
} | |
// Don't print empty markup in archives if there's only one page. | |
if ( $wp_query->max_num_pages < 2 && ( is_home() || is_archive() || is_search() ) ) { | |
return; | |
} | |
$nav_class = ( is_single() ) ? 'post-navigation' : 'paging-navigation'; | |
$category_specific = apply_filters( 'generate_category_post_navigation', false ); | |
?> | |
<nav id="<?php echo esc_attr( $nav_id ); ?>" class="<?php echo esc_attr( $nav_class ); ?>"> | |
<span class="screen-reader-text"><?php esc_html_e( 'Post navigation', 'generatepress' ); ?></span> | |
<?php if ( is_single() ) : // navigation links for single posts. | |
previous_post_link( | |
'<div class="nav-previous"><span class="prev" title="' . esc_attr__( 'Previous', 'generatepress' ) . '">%link</span></div>', | |
'%title', | |
$category_specific, | |
array( '3453' ) | |
); | |
next_post_link( | |
'<div class="nav-next"><span class="next" title="' . esc_attr__( 'Next', 'generatepress' ) . '">%link</span></div>', | |
'%title', | |
$category_specific, | |
array( '3453' ) | |
); | |
elseif ( is_home() || is_archive() || is_search() ) : // navigation links for home, archive, and search pages. | |
if ( get_next_posts_link() ) : ?> | |
<div class="nav-previous"><span class="prev" title="<?php esc_attr_e( 'Previous', 'generatepress' );?>"><?php next_posts_link( __( 'Older posts', 'generatepress' ) ); ?></span></div> | |
<?php endif; | |
if ( get_previous_posts_link() ) : ?> | |
<div class="nav-next"><span class="next" title="<?php esc_attr_e( 'Next', 'generatepress' );?>"><?php previous_posts_link( __( 'Newer posts', 'generatepress' ) ); ?></span></div> | |
<?php endif; | |
if ( function_exists( 'the_posts_pagination' ) ) { | |
the_posts_pagination( array( | |
'mid_size' => apply_filters( 'generate_pagination_mid_size', 1 ), | |
'prev_text' => apply_filters( 'generate_previous_link_text', __( '← Previous', 'generatepress' ) ), | |
'next_text' => apply_filters( 'generate_next_link_text', __( 'Next →', 'generatepress' ) ), | |
) ); | |
} | |
/** | |
* generate_paging_navigation hook. | |
* | |
* @since 0.1 | |
*/ | |
do_action( 'generate_paging_navigation' ); | |
endif; ?> | |
</nav><!-- #<?php echo esc_html( $nav_id ); ?> --> | |
<?php | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment