-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance: Improve pagination logic in core/query-pagination-previous block #68070
base: trunk
Are you sure you want to change the base?
Enhance: Improve pagination logic in core/query-pagination-previous block #68070
Conversation
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.
To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
Requesting for a re-review from @ntsekouras as a follow-up to this closed PR. |
@@ -1,4 +1,5 @@ | |||
<?php | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should remove this extra line.
} elseif ( 1 < $page ) { | ||
|
||
$total_pages = $max_page; | ||
if ( ! isset( $block->context['query']['inherit'] ) || ! $block->context['query']['inherit'] ) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason I suggested to move this block here is that we could avoid this if
condition, since it's actually the else
from above.
I know realized that we have an elseif ( 1 !== $page )
, so I guess we could change the elseif
to else
, and inside that else
block handle the if ( 1 !== $page )
.
This way we wouldn't also need the temp assignment $total_pages = $max_page;
I hope I didn't confuse you :)
Fixes: #67748
What?
The Query Pagination Previous block is displayed even when a user navigates beyond the range of available query results. Since no results are shown in such cases, displaying this block is unnecessary and can be confusing. This PR addresses the issue by ensuring the Query Pagination Previous block is hidden when the query has no results, improving user experience and interface clarity.
How?
The logic has been updated to render the block only when the page number is greater than 1 and less than or equal to the total number of pages, ensuring accurate and appropriate visibility.
Testing Instructions
Screencast
Screen.Recording.2024-12-10.at.10.47.05.AM.mov
Screenshots
Before:
After: