Skip to content

Instantly share code, notes, and snippets.

@genesis16
Created April 27, 2022 04:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save genesis16/d5cce5bd72de0b3cd416512131f83c27 to your computer and use it in GitHub Desktop.
Save genesis16/d5cce5bd72de0b3cd416512131f83c27 to your computer and use it in GitHub Desktop.
redirect canonical
1. // use the page url and append the CPT template file you would like to redirect canoncial URL's
add_action( 'template_redirect', 'insight_template_redirect', 1 );
function insight_template_redirect() {
if ( is_paged() && is_single( 'yourwebsite.com/category' ) ) {
remove_action( 'template_redirect', 'redirect_canonical' );
}
}
2. // Declare pagination function and use paged parameter in wp_query
function pagination($prev = '«', $next = '»') {
global $wp_query, $wp_rewrite;
$wp_query->query_vars['paged'] >2 ? $current = $wp_query->query_vars['paged'] : $current = 1;
$pagination = array(
'base' => @add_query_arg('paged','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'prev_text' => __($prev),
'next_text' => __($next),
'paged' => $current,
'type' => 'plain'
);
if( $wp_rewrite->using_permalinks() )
$pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );
remove_filter('template_redirect', 'redirect_canonical');
if( !empty($wp_query->query_vars['s']) )
$pagination['add_args'] = array( 's' => get_query_var( 's' ) );
echo paginate_links( $pagination );
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment