Похоже, что эта ссылка содержит (почти) всю необходимую информацию.
«Старее» - это «Следующая страница», поэтому вы переопределяете метод next_page
в вашем рендерере.«Самый старый» - «Последняя страница»;вам нужно добавить метод, а затем убедиться, что он включен в массив, возвращаемый вашим методом pagination
(здесь поможет метод total_pages
, встроенный в will_paginate).
Затем выполните обратное для Newer/Newest.
Посмотрите файлы link_renderer.rb и link_renderer_base.rb .У них есть методы, которые вы будете переопределять.
Я написал собственный рендерер will_paginate 3 для имитации пагинации GitHub / Twitter в стиле «Еще».Я аннотировал код ниже.Это не даст вам точно, куда вам нужно идти, но это начало.
module TwitterPagination
class LinkRenderer < WillPaginate::ViewHelpers::LinkRenderer
protected
# Tells WP how to render the "Next Page" link
def next_page
# The only difference from the default here is we renamed the link to "More"
# and added a custom class, twitter_pagination
previous_or_next_page(@collection.next_page, "More", 'twitter_pagination') if @collection.next_page
end
# Remove all links except our :next_page
def pagination
[ :next_page ]
end
end
end
Все, что мне нужно было знать, чтобы сделать это, можно выяснить, прочитав два исходных файла, которые я связал выше.
Меня поразило, как легко это было сделать;последний дизайн will_paginate великолепен в этой области.