È possibile farlo utilizzando i filtri nella funzione get_adjacent_post
.
Nel file functions.php, aggiungere:
function mytheme_previous_post_orderby_name($orderby){
return "ORDER BY p.post_title DESC LIMIT 1";
}
function mytheme_previous_post_where_name(){
global $post, $wpdb;
return $wpdb->prepare("WHERE p.post_title < %s AND p.post_type = %s AND (p.post_status = 'publish' OR p.post_status = 'private')", $post->post_title, $post->post_type);
}
function mytheme_next_post_orderby_name($orderby){
return "ORDER BY p.post_title ASC LIMIT 1";
}
function mytheme_next_post_where_name(){
global $post, $wpdb;
return $wpdb->prepare("WHERE p.post_title > %s AND p.post_type = %s AND (p.post_status = 'publish' OR p.post_status = 'private')", $post->post_title, $post->post_type);
}
Poi nella tua pagina single.php aggiungere i filtri prima di chiamare i post precedenti/link seguente funzioni:
add_filter('get_previous_post_sort', 'mytheme_previous_post_orderby_name', 10, 1);
add_filter('get_next_post_sort', 'mytheme_next_post_orderby_name', 10, 1);
add_filter('get_previous_post_where', 'mytheme_previous_post_where_name', 10);
add_filter('get_next_post_where', 'mytheme_next_post_where_name', 10);
the_post_navigation();
remove_filter('get_previous_post_sort', 'mytheme_previous_post_orderby_name', 10);
remove_filter('get_next_post_sort', 'mytheme_next_post_orderby_name', 10);
remove_filter('get_previous_post_where', 'mytheme_previous_post_where_name', 10);
remove_filter('get_next_post_where', 'mytheme_next_post_where_name', 10);
Se vuoi controllare per il tuo post_type specifico, puoi aggiungere un se intorno alla sezione aggiunta del filtro:
if($post->post_type == 'my_custom_post_type'){
add_filter(...);
the_post_navigation();
remove_filter(...);
}
o, puoi semplicemente usare un file single.php specifico per post_type!
Questo ha funzionato grande per me, ma ci possono essere alcune limitazioni se si sta progettando sulla combinazione di questo con messaggi nella stesso termine ...
Questo è eccellente. Grazie mille, amico. – Cthulhu
Questo plugin non è stato aggiornato tra un paio d'anni, ma funziona ancora alla grande !!! Qualcuno dovrebbe testarlo nuovamente in modo che possa tornare alle opzioni installabili nell'amministratore di wp. Ho dovuto ricaricarlo dal sito wp. –