run:R W Run
7.33 KB
2026-03-11 16:18:51
R W Run
5.77 KB
2026-03-11 16:18:51
R W Run
4.09 KB
2026-03-11 16:18:51
R W Run
error_log
📄class-wp-sitemaps-posts.php
1<?php
2/**
3 * Sitemaps: WP_Sitemaps_Posts class
4 *
5 * Builds the sitemaps for the 'post' object type.
6 *
7 * @package WordPress
8 * @subpackage Sitemaps
9 * @since 5.5.0
10 */
11
12/**
13 * Posts XML sitemap provider.
14 *
15 * @since 5.5.0
16 */
17class WP_Sitemaps_Posts extends WP_Sitemaps_Provider {
18 /**
19 * WP_Sitemaps_Posts constructor.
20 *
21 * @since 5.5.0
22 */
23 public function __construct() {
24 $this->name = 'posts';
25 $this->object_type = 'post';
26 }
27
28 /**
29 * Returns the public post types, which excludes nav_items and similar types.
30 * Attachments are also excluded. This includes custom post types with public = true.
31 *
32 * @since 5.5.0
33 *
34 * @return WP_Post_Type[] Array of registered post type objects keyed by their name.
35 */
36 public function get_object_subtypes() {
37 $post_types = get_post_types( array( 'public' => true ), 'objects' );
38 unset( $post_types['attachment'] );
39
40 $post_types = array_filter( $post_types, 'is_post_type_viewable' );
41
42 /**
43 * Filters the list of post object sub types available within the sitemap.
44 *
45 * @since 5.5.0
46 *
47 * @param WP_Post_Type[] $post_types Array of registered post type objects keyed by their name.
48 */
49 return apply_filters( 'wp_sitemaps_post_types', $post_types );
50 }
51
52 /**
53 * Gets a URL list for a post type sitemap.
54 *
55 * @since 5.5.0
56 * @since 5.9.0 Renamed `$post_type` to `$object_subtype` to match parent class
57 * for PHP 8 named parameter support.
58 *
59 * @param int $page_num Page of results.
60 * @param string $object_subtype Optional. Post type name. Default empty.
61 *
62 * @return array[] Array of URL information for a sitemap.
63 */
64 public function get_url_list( $page_num, $object_subtype = '' ) {
65 // Restores the more descriptive, specific name for use within this method.
66 $post_type = $object_subtype;
67
68 // Bail early if the queried post type is not supported.
69 $supported_types = $this->get_object_subtypes();
70
71 if ( ! isset( $supported_types[ $post_type ] ) ) {
72 return array();
73 }
74
75 /**
76 * Filters the posts URL list before it is generated.
77 *
78 * Returning a non-null value will effectively short-circuit the generation,
79 * returning that value instead.
80 *
81 * @since 5.5.0
82 *
83 * @param array[]|null $url_list The URL list. Default null.
84 * @param string $post_type Post type name.
85 * @param int $page_num Page of results.
86 */
87 $url_list = apply_filters(
88 'wp_sitemaps_posts_pre_url_list',
89 null,
90 $post_type,
91 $page_num
92 );
93
94 if ( null !== $url_list ) {
95 return $url_list;
96 }
97
98 $args = $this->get_posts_query_args( $post_type );
99 $args['paged'] = $page_num;
100
101 $query = new WP_Query( $args );
102
103 $url_list = array();
104
105 /*
106 * Add a URL for the homepage in the pages sitemap.
107 * Shows only on the first page if the reading settings are set to display latest posts.
108 */
109 if ( 'page' === $post_type && 1 === $page_num && 'posts' === get_option( 'show_on_front' ) ) {
110 // Extract the data needed for home URL to add to the array.
111 $sitemap_entry = array(
112 'loc' => home_url( '/' ),
113 );
114
115 /*
116 * Get the most recent posts displayed on the homepage,
117 * and then sort them by their modified date to find
118 * the date the homepage was approximately last updated.
119 */
120 $latest_posts = new WP_Query(
121 array(
122 'post_type' => 'post',
123 'post_status' => 'publish',
124 'orderby' => 'date',
125 'order' => 'DESC',
126 'no_found_rows' => true,
127 'update_post_meta_cache' => false,
128 'update_post_term_cache' => false,
129 )
130 );
131
132 if ( ! empty( $latest_posts->posts ) ) {
133 $posts = wp_list_sort( $latest_posts->posts, 'post_modified_gmt', 'DESC' );
134
135 $sitemap_entry['lastmod'] = wp_date( DATE_W3C, strtotime( $posts[0]->post_modified_gmt ) );
136 }
137
138 /**
139 * Filters the sitemap entry for the home page when the 'show_on_front' option equals 'posts'.
140 *
141 * @since 5.5.0
142 *
143 * @param array $sitemap_entry Sitemap entry for the home page.
144 */
145 $sitemap_entry = apply_filters( 'wp_sitemaps_posts_show_on_front_entry', $sitemap_entry );
146 $url_list[] = $sitemap_entry;
147 }
148
149 foreach ( $query->posts as $post ) {
150 $sitemap_entry = array(
151 'loc' => get_permalink( $post ),
152 'lastmod' => wp_date( DATE_W3C, strtotime( $post->post_modified_gmt ) ),
153 );
154
155 /**
156 * Filters the sitemap entry for an individual post.
157 *
158 * @since 5.5.0
159 *
160 * @param array $sitemap_entry Sitemap entry for the post.
161 * @param WP_Post $post Post object.
162 * @param string $post_type Name of the post_type.
163 */
164 $sitemap_entry = apply_filters( 'wp_sitemaps_posts_entry', $sitemap_entry, $post, $post_type );
165 $url_list[] = $sitemap_entry;
166 }
167
168 return $url_list;
169 }
170
171 /**
172 * Gets the max number of pages available for the object type.
173 *
174 * @since 5.5.0
175 * @since 5.9.0 Renamed `$post_type` to `$object_subtype` to match parent class
176 * for PHP 8 named parameter support.
177 *
178 * @param string $object_subtype Optional. Post type name. Default empty.
179 * @return int Total number of pages.
180 */
181 public function get_max_num_pages( $object_subtype = '' ) {
182 if ( empty( $object_subtype ) ) {
183 return 0;
184 }
185
186 // Restores the more descriptive, specific name for use within this method.
187 $post_type = $object_subtype;
188
189 /**
190 * Filters the max number of pages before it is generated.
191 *
192 * Passing a non-null value will short-circuit the generation,
193 * returning that value instead.
194 *
195 * @since 5.5.0
196 *
197 * @param int|null $max_num_pages The maximum number of pages. Default null.
198 * @param string $post_type Post type name.
199 */
200 $max_num_pages = apply_filters( 'wp_sitemaps_posts_pre_max_num_pages', null, $post_type );
201
202 if ( null !== $max_num_pages ) {
203 return $max_num_pages;
204 }
205
206 $args = $this->get_posts_query_args( $post_type );
207 $args['fields'] = 'ids';
208 $args['no_found_rows'] = false;
209
210 $query = new WP_Query( $args );
211
212 $min_num_pages = ( 'page' === $post_type && 'posts' === get_option( 'show_on_front' ) ) ? 1 : 0;
213 return isset( $query->max_num_pages ) ? max( $min_num_pages, $query->max_num_pages ) : 1;
214 }
215
216 /**
217 * Returns the query args for retrieving posts to list in the sitemap.
218 *
219 * @since 5.5.0
220 * @since 6.1.0 Added `ignore_sticky_posts` default parameter.
221 *
222 * @param string $post_type Post type name.
223 * @return array Array of WP_Query arguments.
224 */
225 protected function get_posts_query_args( $post_type ) {
226 /**
227 * Filters the query arguments for post type sitemap queries.
228 *
229 * @see WP_Query for a full list of arguments.
230 *
231 * @since 5.5.0
232 * @since 6.1.0 Added `ignore_sticky_posts` default parameter.
233 *
234 * @param array $args Array of WP_Query arguments.
235 * @param string $post_type Post type name.
236 */
237 $args = apply_filters(
238 'wp_sitemaps_posts_query_args',
239 array(
240 'orderby' => 'ID',
241 'order' => 'ASC',
242 'post_type' => $post_type,
243 'posts_per_page' => wp_sitemaps_get_max_urls( $this->object_type ),
244 'post_status' => array( 'publish' ),
245 'no_found_rows' => true,
246 'update_post_term_cache' => false,
247 'update_post_meta_cache' => false,
248 'ignore_sticky_posts' => true, // Sticky posts will still appear, but they won't be moved to the front.
249 ),
250 $post_type
251 );
252
253 return $args;
254 }
255}
256
Ui Ux Design – Teachers Night Out https://cardgames4educators.com Wed, 16 Oct 2024 22:24:18 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 https://cardgames4educators.com/wp-content/uploads/2024/06/cropped-Card-4-Educators-logo-32x32.png Ui Ux Design – Teachers Night Out https://cardgames4educators.com 32 32 Masters In English How English Speaker https://cardgames4educators.com/masters-in-english-how-english-speaker/ https://cardgames4educators.com/masters-in-english-how-english-speaker/#comments Mon, 27 May 2024 08:54:45 +0000 https://themexriver.com/wp/kadu/?p=1

Erat himenaeos neque id sagittis massa. Hac suscipit pulvinar dignissim platea magnis eu. Don tellus a pharetra inceptos efficitur dui pulvinar. Feugiat facilisis penatibus pulvinar nunc dictumst donec odio platea habitasse. Lacus porta dolor purus elit ante bibendum tortor netus taciti nullam cubilia. Erat per suspendisse placerat morbi egestas pulvinar bibendum sollicitudin nec. Euismod cubilia eleifend velit himenaeos sodales lectus. Leo maximus cras ac porttitor aliquam torquent pulvinar odio volutpat parturient. Quisque risus finibus suspendisse mus purus magnis facilisi condimentum consectetur dui. Curae elit suspendisse cursus vehicula.

Turpis taciti class non vel pretium quis pulvinar tempor lobortis nunc. Libero phasellus parturient sapien volutpat malesuada ornare. Cubilia dignissim sollicitudin rhoncus lacinia maximus. Cras lorem fermentum bibendum pellentesque nisl etiam ligula enim cubilia. Vulputate pede sapien torquent montes tempus malesuada in mattis dis turpis vitae. Porta est tempor ex eget feugiat vulputate ipsum. Justo nec iaculis habitant diam arcu fermentum.

We offer comprehen sive emplo ment services such as assistance wit employer compliance.Our company is your strategic HR partner as instead of HR. john smithson

Cubilia dignissim sollicitudin rhoncus lacinia maximus. Cras lorem fermentum bibendum pellentesque nisl etiam ligula enim cubilia. Vulputate pede sapien torquent montes tempus malesuada in mattis dis turpis vitae.

Exploring Learning Landscapes in Academic

Feugiat facilisis penatibus pulvinar nunc dictumst donec odio platea habitasse. Lacus porta dolor purus elit ante bibendum tortor netus taciti nullam cubilia. Erat per suspendisse placerat morbi egestas pulvinar bibendum sollicitudin nec. Euismod cubilia eleifend velit himenaeos sodales lectus. Leo maximus cras ac porttitor aliquam torquent.

]]>
https://cardgames4educators.com/masters-in-english-how-english-speaker/feed/ 1