File "class-wp-sitemaps-provider.php"
Full path: /home/kosmetik/public_html/wp-includes/sitemaps/class-wp-sitemaps-provider.php
File
size: 1.92 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
abstract class WP_Sitemaps_Provider
{
protected $name = '';
protected $object_type = '';
public abstract function get_url_list($page_num, $object_subtype = '');
public abstract function get_max_num_pages($object_subtype = '');
public function get_sitemap_type_data()
{
$sitemap_data = array();
$object_subtypes = $this->get_object_subtypes();
if (empty($object_subtypes)) {
$sitemap_data[] = array('name' => '', 'pages' => $this->get_max_num_pages());
return $sitemap_data;
}
foreach ($object_subtypes as $object_subtype_name => $data) {
$object_subtype_name = (string) $object_subtype_name;
$sitemap_data[] = array('name' => $object_subtype_name, 'pages' => $this->get_max_num_pages($object_subtype_name));
}
return $sitemap_data;
}
public function get_sitemap_entries()
{
$sitemaps = array();
$sitemap_types = $this->get_sitemap_type_data();
foreach ($sitemap_types as $type) {
for ($page = 1; $page <= $type['pages']; $page++) {
$sitemap_entry = array('loc' => $this->get_sitemap_url($type['name'], $page));
$sitemap_entry = apply_filters('wp_sitemaps_index_entry', $sitemap_entry, $this->object_type, $type['name'], $page);
$sitemaps[] = $sitemap_entry;
}
}
return $sitemaps;
}
public function get_sitemap_url($name, $page)
{
global $wp_rewrite;
$params = array_filter(array('sitemap' => $this->name, 'sitemap-subtype' => $name, 'paged' => $page));
$basename = sprintf('/wp-sitemap-%1$s.xml', implode('-', $params));
if (!$wp_rewrite->using_permalinks()) {
$basename = '/?' . http_build_query($params, null, '&');
}
return home_url($basename);
}
public function get_object_subtypes()
{
return array();
}
}