примерно так:
добавил 2 параметра posts_per_page и paged в самом начале
$args = array(
'posts_per_page' => 4,//сколько записей на одной странице?
'paged' => (get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1),//текущий номер страницы
'numberposts' => 10,
'offset' => 0,
'category' => 0,
'orderby' => 'post_date',
'order' => 'DESC',
'include' => '',
'exclude' => '',
'meta_key' => '',
'meta_value' => '',
'post_type' => 'post',
'post_status' => 'draft, publish, future, pending, private',
'suppress_filters' => true,
);
$result = wp_get_recent_posts( $args );
foreach( $result as $post ){
setup_postdata( $post );
the_title(); // вывод
}
wp_reset_postdata();
//добавляем либо свою пагинацию,
//либо the_posts_pagination();
//либо the_posts_navigation();
//либо echo paginate_links();
можно определить параметры для paginate_links():
$param=array(
'base' => '%_%',
'format' => '?paged=%#%',
'total' => 5,
'current' => 2,
'show_all' => false,
'end_size' => 1,
'mid_size' => 2,
'prev_next' => true,
'prev_text' => __('« Previous'),
'next_text' => __('Next »'),
'type' => 'plain',
'add_args' => false,
'add_fragment' => '',
'before_page_number' => '',
'after_page_number' => ''
);
echo paginate_links($param);