Generalnie wyciągnąłem i przerobiłem kod z innej wbudowanej funkcji:
function relarion_pages( $i, $type ) {
global $wp_rewrite;
$post = get_post();
if ( 1 == $i ) {
$url = get_permalink();
} else {
if ( '' == get_option('permalink_structure') || in_array($post->post_status, array('draft', 'pending')) )
$url = add_query_arg( 'page', $i, get_permalink() );
elseif ( 'page' == get_option('show_on_front') && get_option('page_on_front') == $post->ID )
$url = trailingslashit(get_permalink()) . user_trailingslashit("$wp_rewrite->pagination_base/" . $i, 'single_paged');
else
$url = trailingslashit(get_permalink()) . user_trailingslashit($i, 'single_paged');
}
if ( is_preview() ) {
$url = add_query_arg( array(
'preview' => 'true'
), $url );
if ( ( 'draft' !== $post->post_status ) && isset( $_GET['preview_id'], $_GET['preview_nonce'] ) ) {
$url = add_query_arg( array(
'preview_id' => wp_unslash( $_GET['preview_id'] ),
'preview_nonce' => wp_unslash( $_GET['preview_nonce'] )
), $url );
}
}
return '<link rel="'.$type.'" href="' . esc_url( $url ) . '"/>';
}
stosowanie:
if ($page>1)
echo relarion_pages( $page - 1 , 'prev');
if ($page < $numpages)
echo relarion_pages( $page + 1, 'next' );
działa, ale chyba nie wygląda to zbyt fajnie- jutro sprawdzę ten plugin.