Conversation
6 similar comments
| { | ||
| global $paged; | ||
|
|
||
| if (isset($page)) { |
There was a problem hiding this comment.
I was missing this feature and stumbled upon this merge request. I quickly checked how it was implemented by curiosity and I might have found an issue here : )
Since the $page attribute has a default value in the function params it will always be set. This means that if the user doesn't pass the $page attribute this will always reset the $paged value to 1.
One solution is to set the $page = NULL in the params and check if $page !== NULL here instead of the isset. I still didn't test it in a real wordpress setup so I might be wrong.
There was a problem hiding this comment.
Thanks for the feedback, I guess the if is redundant here. I can't see that it would cause any issue but you're right that it will always be set.
I think it's important to provide a default as I can't think of a scenario where when providing no $page param you wouldn't want the first page back.
7c78e56 to
ae4064d
Compare
|
Lumberjack is awesome but really needs this functionality. @joelambert is there a way we can help to get this merged? Pagination is quite helpful 😅. |
|
IMO Code example: |
|
@martinpl I'm not too keen on adding more internal state to the query builder. At the moment @adamtomat do you have any thoughts on this? To my mind, this PR is pretty close, the only question is whether we should write an abstraction around the |
This adds a
paginate()method to the QueryBuilder that returns an instance of Timber'sPostQueryinstead of a Collection.This needs to be tested in a WordPress install.
Possible enhancements could be an abstraction of the
PostQueryclass that gives access to the Pagination object as well as a Collection of posts rather than an Array.