WP_Sitemaps_Taxonomies::get_url_list()
Gets a URL list for a taxonomy sitemap.
Method of the class: WP_Sitemaps_Taxonomies{}
Hooks from the method
Return
Array[]
. Array of URL information for a sitemap.
Usage
$WP_Sitemaps_Taxonomies = new WP_Sitemaps_Taxonomies(); $WP_Sitemaps_Taxonomies->get_url_list( $page_num, $object_subtype );
- $page_num(int) (required)
- Page of results.
- $object_subtype(string)
- Taxonomy name.
Default: ''
Changelog
Since 5.5.0 | Introduced. |
Since 5.9.0 | Renamed $taxonomy to $object_subtype to match parent class for PHP 8 named parameter support. |
WP_Sitemaps_Taxonomies::get_url_list() WP Sitemaps Taxonomies::get url list code WP 6.6.2
public function get_url_list( $page_num, $object_subtype = '' ) { // Restores the more descriptive, specific name for use within this method. $taxonomy = $object_subtype; $supported_types = $this->get_object_subtypes(); // Bail early if the queried taxonomy is not supported. if ( ! isset( $supported_types[ $taxonomy ] ) ) { return array(); } /** * Filters the taxonomies URL list before it is generated. * * Returning a non-null value will effectively short-circuit the generation, * returning that value instead. * * @since 5.5.0 * * @param array[]|null $url_list The URL list. Default null. * @param string $taxonomy Taxonomy name. * @param int $page_num Page of results. */ $url_list = apply_filters( 'wp_sitemaps_taxonomies_pre_url_list', null, $taxonomy, $page_num ); if ( null !== $url_list ) { return $url_list; } $url_list = array(); // Offset by how many terms should be included in previous pages. $offset = ( $page_num - 1 ) * wp_sitemaps_get_max_urls( $this->object_type ); $args = $this->get_taxonomies_query_args( $taxonomy ); $args['fields'] = 'all'; $args['offset'] = $offset; $taxonomy_terms = new WP_Term_Query( $args ); if ( ! empty( $taxonomy_terms->terms ) ) { foreach ( $taxonomy_terms->terms as $term ) { $term_link = get_term_link( $term, $taxonomy ); if ( is_wp_error( $term_link ) ) { continue; } $sitemap_entry = array( 'loc' => $term_link, ); /** * Filters the sitemap entry for an individual term. * * @since 5.5.0 * @since 6.0.0 Added `$term` argument containing the term object. * * @param array $sitemap_entry Sitemap entry for the term. * @param int $term_id Term ID. * @param string $taxonomy Taxonomy name. * @param WP_Term $term Term object. */ $sitemap_entry = apply_filters( 'wp_sitemaps_taxonomies_entry', $sitemap_entry, $term->term_id, $taxonomy, $term ); $url_list[] = $sitemap_entry; } } return $url_list; }