Почему не работает пагинация на странице архивов в Wordpress?
Используйте встроенную в ядро  пагинацию  get_the_posts_pagination()
Я не могу понять, с чего вы вообще ожидаете, что урл без category base должен работать? То есть, www.site.ru/knigi/page/2 и не должен работать, в то же самое время, www.site.ru/category/knigi/page/2 должен работать, ибо у него есть category base (выделено жирным). В общем, все ок, так и должно быть. Вы просто почему-то ждете нетипичного поведения там, где его не должно быть. Это раз.
Два - хватит уже изобретать какие-то костыли для пагинации. Есть встроенные средства на любой вкус.