ddf263e8c410e9bcbfd6e6d72e4.json">woocommerce-th-a65b4ddf263e8c410e9bcbfd6e6d72e4.json d01d7cf85d first commit 4 anni fa woocommerce-th-a8b73b087444470c8f4396b7142908f6.json d01d7cf85d first commit 4 anni fa woocommerce-th-abb904b047b7be3be9d638e2c6144691.json d01d7cf85d first commit 4 anni fa woocommerce-th-ae1c49c8c0597593a9c36e106a04bd60.json d01d7cf85d first commit 4 anni fa woocommerce-th-aed4ce3ede1d44a8fecfe0edfbf8421c.json d01d7cf85d first commit 4 anni fa woocommerce-th-af52ab8cb2e7713cf3037751dd593965.json d01d7cf85d first commit 4 anni fa woocommerce-th-afbede9cda22f594a80ae8b178e0e98c.json d01d7cf85d first commit 4 anni fa woocommerce-th-afd1e270efc2e8283acfd50ccab18d2b.json d01d7cf85d first commit 4 anni fa woocommerce-th-b007baff76144318d6c33cd26f4bfdb9.json d01d7cf85d first commit 4 anni fa woocommerce-th-b0a592b6fe83588c5d1b8ed6850b6a74.json d01d7cf85d first commit 4 anni fa woocommerce-th-b155b7bf28890099b74a84417cbaafe9.json d01d7cf85d first commit 4 anni fa woocommerce-th-b1bb8fbd24d68a9c893faf1a6f7b493b.json d01d7cf85d first commit 4 anni fa woocommerce-th-b1bcbab1d6a7ca6b0433d67776f347f1.json d01d7cf85d first commit 4 anni fa woocommerce-th-b239ff15197a133498a4b025f002dee5.json d01d7cf85d first commit 4 anni fa woocommerce-th-b2e956ee35340f6e47f27f8a54309ac3.json d01d7cf85d first commit 4 anni fa woocommerce-th-b31f51fa0bb40ceb060aaa9f77ca1771.json d01d7cf85d first commit 4 anni fa woocommerce-th-b3f83696a2cb49f571043ce14a384a76.json d01d7cf85d first commit 4 anni fa woocommerce-th-b4bf1e55ca6145f38f1b2f104201da21.json d01d7cf85d first commit 4 anni fa woocommerce-th-b826befd7acca93e8e4c12b7cd2fc7f1.json d01d7cf85d first commit 4 anni fa woocommerce-th-b9bf1ca91d393a30e2461ef709f8fa10.json d01d7cf85d first commit 4 anni fa woocommerce-th-ba8d2fb7c85928310d4f3a907b7d9bdd.json d01d7cf85d first commit 4 anni fa woocommerce-th-bb0f027faa1257de4b730158475093de.json d01d7cf85d first commit 4 anni fa woocommerce-th-bb5c5935ec0d64e8880b1c7794470460.json d01d7cf85d first commit 4 anni fa woocommerce-th-bc1f4f7aec77a0a6dd229cc910f601f1.json d01d7cf85d first commit 4 anni fa woocommerce-th-bc9c3f9eda462d6d9968c1dca51e7c62.json d01d7cf85d first commit 4 anni fa woocommerce-th-bcb06ab6e8931a862dec9c07c66df45b.json d01d7cf85d first commit 4 anni fa woocommerce-th-c06829f63f73ae430c10ae700fb1eb6d.json d01d7cf85d first commit 4 anni fa woocommerce-th-c0faba84c7842505f8893c2c327a9f78.json d01d7cf85d first commit 4 anni fa woocommerce-th-c13acd243559529a685813d9871026a1.json d01d7cf85d first commit 4 anni fa woocommerce-th-c1bc39bcdee2da3c0b62bcd5372120f4.json d01d7cf85d first commit 4 anni fa woocommerce-th-c22945301f466e2d78d6e80404a22664.json d01d7cf85d first commit 4 anni fa woocommerce-th-c2435bc8dfd186b147aba658416d115e.json d01d7cf85d first commit 4 anni fa woocommerce-th-c257c024e3db4e010644d2c7be3c7090.json d01d7cf85d first commit 4 anni fa woocommerce-th-c2d9a34cf502bd5b5a80ca646a1420b3.json d01d7cf85d first commit 4 anni fa woocommerce-th-c5702ace609dd30ccabd4c999de43096.json d01d7cf85d first commit 4 anni fa woocommerce-th-c608fe5deda8db7667c8431ca6fd222a.json d01d7cf85d first commit 4 anni fa woocommerce-th-c6c5331d3afe1391f2ca83e991ccc086.json d01d7cf85d first commit 4 anni fa woocommerce-th-c70671124b0e00661f88fe1616dfc9f0.json d01d7cf85d first commit 4 anni fa woocommerce-th-c8cbe8ef95155db152b270d441fc8528.json d01d7cf85d first commit 4 anni fa woocommerce-th-c8ddf2164475a213274d06873bfbb73a.json d01d7cf85d first commit 4 anni fa woocommerce-th-c93706e596cbd46fb0d621f4fe3efb80.json d01d7cf85d first commit 4 anni fa woocommerce-th-ca3cd4394cb082bde7555ebd3bb5f143.json d01d7cf85d first commit 4 anni fa woocommerce-th-cb71ce5ddcc7c808172e80a0dc9833d5.json d01d7cf85d first commit 4 anni fa woocommerce-th-cc16013df9d4b0a0ba45297b90b06f20.json d01d7cf85d first commit 4 anni fa woocommerce-th-ccc500b0b722a0c96712f1634cbb7289.json d01d7cf85d first commit 4 anni fa woocommerce-th-cd9fc1d9fc46b55bb32d0fd471457690.json d01d7cf85d first commit 4 anni fa woocommerce-th-ce3f8f2f3e0f3c58f8aea5b7aa5cc6f4.json d01d7cf85d first commit 4 anni fa woocommerce-th-d05ee634b22d05f0055b724443f05a68.json d01d7cf85d first commit 4 anni fa woocommerce-th-d0d05e0dda872b433f260969b4d53b30.json d01d7cf85d first commit 4 anni fa woocommerce-th-d0fa7cd1cd624e53cc7b4fde655c20af.json d01d7cf85d first commit 4 anni fa woocommerce-th-d2b4400b6de0e69404e0f7f61d16bc55.json d01d7cf85d first commit 4 anni fa woocommerce-th-d3e57c518feb58ab8ea4f9d2d8e66160.json d01d7cf85d first commit 4 anni fa woocommerce-th-d4c505e96199e8c818fc6d24151d9c4a.json d01d7cf85d first commit 4 anni fa woocommerce-th-d5ea33028f13b50f40bbcce807e37fc0.json d01d7cf85d first commit 4 anni fa woocommerce-th-d6f4faa954a31ef3d5b74c2dfe13f141.json d01d7cf85d first commit 4 anni fa woocommerce-th-d7bbe90eb59636eb8a6f31c7979ab6f5.json d01d7cf85d first commit 4 anni fa woocommerce-th-d80020dab74131d7f0c108526c0fbebe.json d01d7cf85d first commit 4 anni fa woocommerce-th-da92a9b2d4c08762c60d7c4c569eb5db.json d01d7cf85d first commit 4 anni fa woocommerce-th-de12a4697822740a2fbaeb47c5062af1.json d01d7cf85d first commit 4 anni fa woocommerce-th-deed2aed3392b43c83c7cea296b154af.json d01d7cf85d first commit 4 anni fa woocommerce-th-df51042cba56a4e9fcac0e5db643906a.json d01d7cf85d first commit 4 anni fa woocommerce-th-dfb09f9953676bbc1de4eb2b9f232c6d.json d01d7cf85d first commit 4 anni fa woocommerce-th-dfbfe3d556f60ebbd62c2b5c8e0fa466.json d01d7cf85d first commit 4 anni fa woocommerce-th-e03ec35386c2705c11cebd6288b33cf8.json d01d7cf85d first commit 4 anni fa woocommerce-th-e0bde0ac58f55fc6b1426844e6697db3.json d01d7cf85d first commit 4 anni fa woocommerce-th-e0f9c7d89b1b130a9023c5c2fde2815e.json d01d7cf85d first commit 4 anni fa woocommerce-th-e41c58d5fb39f750efcbf65a2b55460b.json d01d7cf85d first commit 4 anni fa woocommerce-th-e44671e4528b0da3a0fd6feaf8abadca.json d01d7cf85d first commit 4 anni fa woocommerce-th-e4fbc8d7fc7a16bd8cf2e0522a199de0.json d01d7cf85d first commit 4 anni fa woocommerce-th-e690486b33a7bb1944a37f6e734d734f.json d01d7cf85d first commit 4 anni fa woocommerce-th-e80539b9960e930bf0dcd334d99eb128.json d01d7cf85d first commit 4 anni fa woocommerce-th-e885442559cb44e8b827f0e0ca0a14c9.json d01d7cf85d first commit 4 anni fa woocommerce-th-e88dc35c02f6fa832e90fac5a122323c.json d01d7cf85d first commit 4 anni fa woocommerce-th-ea6fb371f81c4d3584bbc795fa4ac09c.json d01d7cf85d first commit 4 anni fa woocommerce-th-ed9b16000a6d37c51bf23c61f4df878e.json d01d7cf85d first commit 4 anni fa woocommerce-th-ef5798395d7601ab6fea0f1efd60f40a.json d01d7cf85d first commit 4 anni fa woocommerce-th-f31b0aa0c71dd74b7103120610ca6253.json d01d7cf85d first commit 4 anni fa woocommerce-th-f34924aeff974b0bdbfac124c23fbfe3.json d01d7cf85d first commit 4 anni fa woocommerce-th-f39008456fd28b2f79cdb0964ff294e1.json d01d7cf85d first commit 4 anni fa woocommerce-th-f3f1cc4f5811d4bf8a04a58feca06858.json d01d7cf85d first commit 4 anni fa woocommerce-th-f56e66fd08c07abc78cd844f7e83af8c.json d01d7cf85d first commit 4 anni fa woocommerce-th-f60049653c419cfb1e3dc8876e7a8bdb.json d01d7cf85d first commit 4 anni fa woocommerce-th-f686a272add740773cdcb730afdb5454.json d01d7cf85d first commit 4 anni fa woocommerce-th-f976da155dfdd080588c50ccda5af747.json d01d7cf85d first commit 4 anni fa woocommerce-th-f9c56a0cbb6710505047e6c835953c82.json d01d7cf85d first commit 4 anni fa woocommerce-th-fb2ef023bdd44902b5a309e25e0b7792.json d01d7cf85d first commit 4 anni fa woocommerce-th-fc1fe56fadfdeeb25d1bc441581d92b6.json d01d7cf85d first commit 4 anni fa woocommerce-th-fc4895b6508f32c16c4d8bc69f8162b6.json d01d7cf85d first commit 4 anni fa woocommerce-th-fd20fc8ea1484781160e8ea0d229d5e9.json d01d7cf85d first commit 4 anni fa woocommerce-th-fffdec5db595ec0ca7d043c87bae79b8.json d01d7cf85d first commit 4 anni fa woocommerce-th-wc-admin-app.json d01d7cf85d first commit 4 anni fa woocommerce-th.mo d01d7cf85d first commit 4 anni fa woocommerce-th.po d01d7cf85d first commit 4 anni fa tum/whitesports - Gogs: Simplico Git Service

Нема описа

class-wp-sitemaps-users.php 4.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <?php
  2. /**
  3. * Sitemaps: WP_Sitemaps_Users class
  4. *
  5. * Builds the sitemaps for the 'user' object type.
  6. *
  7. * @package WordPress
  8. * @subpackage Sitemaps
  9. * @since 5.5.0
  10. */
  11. /**
  12. * Users XML sitemap provider.
  13. *
  14. * @since 5.5.0
  15. */
  16. class WP_Sitemaps_Users extends WP_Sitemaps_Provider {
  17. /**
  18. * WP_Sitemaps_Users constructor.
  19. *
  20. * @since 5.5.0
  21. */
  22. public function __construct() {
  23. $this->name = 'users';
  24. $this->object_type = 'user';
  25. }
  26. /**
  27. * Gets a URL list for a user sitemap.
  28. *
  29. * @since 5.5.0
  30. *
  31. * @param int $page_num Page of results.
  32. * @param string $object_subtype Optional. Not applicable for Users but
  33. * required for compatibility with the parent
  34. * provider class. Default empty.
  35. * @return array Array of URLs for a sitemap.
  36. */
  37. public function get_url_list( $page_num, $object_subtype = '' ) {
  38. /**
  39. * Filters the users URL list before it is generated.
  40. *
  41. * Passing a non-null value will effectively short-circuit the generation,
  42. * returning that value instead.
  43. *
  44. * @since 5.5.0
  45. *
  46. * @param array $url_list The URL list. Default null.
  47. * @param int $page_num Page of results.
  48. */
  49. $url_list = apply_filters(
  50. 'wp_sitemaps_users_pre_url_list',
  51. null,
  52. $page_num
  53. );
  54. if ( null !== $url_list ) {
  55. return $url_list;
  56. }
  57. $args = $this->get_users_query_args();
  58. $args['paged'] = $page_num;
  59. $query = new WP_User_Query( $args );
  60. $users = $query->get_results();
  61. $url_list = array();
  62. foreach ( $users as $user ) {
  63. $sitemap_entry = array(
  64. 'loc' => get_author_posts_url( $user->ID ),
  65. );
  66. /**
  67. * Filters the sitemap entry for an individual user.
  68. *
  69. * @since 5.5.0
  70. *
  71. * @param array $sitemap_entry Sitemap entry for the user.
  72. * @param WP_User $user User object.
  73. */
  74. $sitemap_entry = apply_filters( 'wp_sitemaps_users_entry', $sitemap_entry, $user );
  75. $url_list[] = $sitemap_entry;
  76. }
  77. return $url_list;
  78. }
  79. /**
  80. * Gets the max number of pages available for the object type.
  81. *
  82. * @since 5.5.0
  83. *
  84. * @see WP_Sitemaps_Provider::max_num_pages
  85. *
  86. * @param string $object_subtype Optional. Not applicable for Users but
  87. * required for compatibility with the parent
  88. * provider class. Default empty.
  89. * @return int Total page count.
  90. */
  91. public function get_max_num_pages( $object_subtype = '' ) {
  92. /**
  93. * Filters the max number of pages before it is generated.
  94. *
  95. * Passing a non-null value will effectively short-circuit the generation,
  96. * returning that value instead.
  97. *
  98. * @since 5.5.0
  99. *
  100. * @param int $max_num_pages The maximum number of pages. Default null.
  101. */
  102. $max_num_pages = apply_filters( 'wp_sitemaps_users_pre_max_num_pages', null );
  103. if ( null !== $max_num_pages ) {
  104. return $max_num_pages;
  105. }
  106. $args = $this->get_users_query_args();
  107. $query = new WP_User_Query( $args );
  108. $total_users = $query->get_total();
  109. return (int) ceil( $total_users / wp_sitemaps_get_max_urls( $this->object_type ) );
  110. }
  111. /**
  112. * Returns the query args for retrieving users to list in the sitemap.
  113. *
  114. * @since 5.5.0
  115. *
  116. * @return array Array of WP_User_Query arguments.
  117. */
  118. protected function get_users_query_args() {
  119. $public_post_types = get_post_types(
  120. array(
  121. 'public' => true,
  122. )
  123. );
  124. // We're not supporting sitemaps for author pages for attachments.
  125. unset( $public_post_types['attachment'] );
  126. /**
  127. * Filters the query arguments for authors with public posts.
  128. *
  129. * Allows modification of the authors query arguments before querying.
  130. *
  131. * @see WP_User_Query for a full list of arguments
  132. *
  133. * @since 5.5.0
  134. *
  135. * @param array $args Array of WP_User_Query arguments.
  136. */
  137. $args = apply_filters(
  138. 'wp_sitemaps_users_query_args',
  139. array(
  140. 'has_published_posts' => array_keys( $public_post_types ),
  141. 'number' => wp_sitemaps_get_max_urls( $this->object_type ),
  142. )
  143. );
  144. return $args;
  145. }
  146. }