paginate_links и vars запросов

Я использую WordPress paginate_links() для создания paginate_links() для шаблона пользовательского архива для настраиваемого типа сообщения. Мой сайт использует постоянные ссылки:

 <?php echo paginate_links(array( 'base' => get_pagenum_link(1) . '%_%', 'current' => max(1, get_query_var('paged')), 'format' => 'page/%#%', 'total' => $wp_query->max_num_pages, )); ?> 

Это работает отлично, пока я не попытаюсь добавить строки строки запроса, чтобы создать пользовательскую строку поиска, когда эхо-код страницы:

 .../entries?post_type=entry&s=testpage/1 .../entries?post_type=entry&s=testpage/2 

Вместо:

 .../entries/page/1?post_type=entry&s=test .../entries/page/2?post_type=entry&s=test 

и т. д. Как я могу получить правильно отформатированные URL-адреса?

Solutions Collecting From Web of "paginate_links и vars запросов"

Кажется, что строка запроса исходит от вызова базового аргумента get_pagenum_link() поэтому я удалил компонент строки запроса и снова добавил его с помощью «add_args». Вот так:

 <?php echo paginate_links(array( 'base' => preg_replace('/\?.*/', '/', get_pagenum_link(1)) . '%_%', 'current' => max(1, get_query_var('paged')), 'format' => 'page/%#%', 'total' => $wp_query->max_num_pages, 'add_args' => array( 's' => get_query_var('s'), 'post_type' => get_query_var('post_type'), ) )); ?>