Skip to content

Deprecate then remove postsPerPage method #25

@joemaller

Description

@joemaller

Does not belong in the data-model, this should be set from the theme.

/**
* Reference: https://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts#Changing_the_number_of_posts_per_page.2C_by_post_type
*
* Assignment hierarchy for posts_per_page:
* 1. $query->query['per_page']
* 2. $query->query['posts_per_page']
* 3. $this->posts_per_page
* 4. get_option('posts_per_page')
*/
public function postsPerPage($query)
{
if (
!is_admin() &&
!wp_is_json_request() &&
isset($query->query_vars['post_type']) &&
$query->query_vars['post_type'] == $this->type
) {
$per_page =
$query->query['per_page'] ??
($query->query['posts_per_page'] ??
($this->posts_per_page ?? get_option('posts_per_page')));
$query->set('posts_per_page', $per_page);
}
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions