File "class-wp-sitemaps-users.php"
Full path: /home/kosmetik/public_html/wp-includes/sitemaps/providers/class-wp-sitemaps-users.php
File
size: 1.7 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
class WP_Sitemaps_Users extends WP_Sitemaps_Provider
{
public function __construct()
{
$this->name = 'users';
$this->object_type = 'user';
}
public function get_url_list($page_num, $object_subtype = '')
{
$url_list = apply_filters('wp_sitemaps_users_pre_url_list', null, $page_num);
if (null !== $url_list) {
return $url_list;
}
$args = $this->get_users_query_args();
$args['paged'] = $page_num;
$query = new WP_User_Query($args);
$users = $query->get_results();
$url_list = array();
foreach ($users as $user) {
$sitemap_entry = array('loc' => get_author_posts_url($user->ID));
$sitemap_entry = apply_filters('wp_sitemaps_users_entry', $sitemap_entry, $user);
$url_list[] = $sitemap_entry;
}
return $url_list;
}
public function get_max_num_pages($object_subtype = '')
{
$max_num_pages = apply_filters('wp_sitemaps_users_pre_max_num_pages', null);
if (null !== $max_num_pages) {
return $max_num_pages;
}
$args = $this->get_users_query_args();
$query = new WP_User_Query($args);
$total_users = $query->get_total();
return (int) ceil($total_users / wp_sitemaps_get_max_urls($this->object_type));
}
protected function get_users_query_args()
{
$public_post_types = get_post_types(array('public' => true));
unset($public_post_types['attachment']);
$args = apply_filters('wp_sitemaps_users_query_args', array('has_published_posts' => array_keys($public_post_types), 'number' => wp_sitemaps_get_max_urls($this->object_type)));
return $args;
}
}