@@ 66-168 (lines=103) @@ | ||
63 | * |
|
64 | * @return string The contents of the xsl file. |
|
65 | */ |
|
66 | public static function sitemap_xsl() { |
|
67 | $title = esc_html( ent2ncr( __( 'XML Sitemap', 'jetpack' ) ) ); |
|
68 | $header_url = esc_html( ent2ncr( __( 'URL', 'jetpack' ) ) ); |
|
69 | $header_lastmod = esc_html( ent2ncr( __( 'Last Modified', 'jetpack' ) ) ); |
|
70 | ||
71 | $description = self::sanitize_with_links( |
|
72 | __( |
|
73 | 'This is an XML Sitemap generated by <a href="%1$s" target="_blank">Jetpack</a>, meant to be consumed by search engines like <a href="%2$s" target="_blank">Google</a> or <a href="%3$s" target="_blank">Bing</a>.', |
|
74 | 'jetpack' |
|
75 | ), |
|
76 | array( |
|
77 | 1 => 'http://jetpack.com/', |
|
78 | 2 => 'https://www.google.com/', |
|
79 | 3 => 'https://www.bing.com/', |
|
80 | ) |
|
81 | ); |
|
82 | ||
83 | $more_info = self::sanitize_with_links( |
|
84 | __( |
|
85 | 'You can find more information on XML sitemaps at <a href="%1$s" target="_blank">sitemaps.org</a>', |
|
86 | 'jetpack' |
|
87 | ), |
|
88 | array( |
|
89 | 1 => 'http://sitemaps.org', |
|
90 | ) |
|
91 | ); |
|
92 | ||
93 | $generated_by = self::sanitize_with_links( |
|
94 | __( |
|
95 | 'Generated by <a href="%s" target="_blank">Jetpack for WordPress</a>', |
|
96 | 'jetpack' |
|
97 | ), |
|
98 | array( |
|
99 | 1 => 'https://jetpack.com', |
|
100 | ) |
|
101 | ); |
|
102 | ||
103 | $css = self::sitemap_xsl_css(); |
|
104 | ||
105 | return <<<XSL |
|
106 | <?xml version='1.0' encoding='UTF-8'?> |
|
107 | <xsl:stylesheet version='2.0' |
|
108 | xmlns:html='http://www.w3.org/TR/REC-html40' |
|
109 | xmlns:sitemap='http://www.sitemaps.org/schemas/sitemap/0.9' |
|
110 | xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> |
|
111 | <xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/> |
|
112 | <xsl:template match="/"> |
|
113 | <html xmlns="http://www.w3.org/1999/xhtml"> |
|
114 | <head> |
|
115 | <title>$title</title> |
|
116 | <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/> |
|
117 | <style type='text/css'> |
|
118 | $css |
|
119 | </style> |
|
120 | </head> |
|
121 | <body> |
|
122 | <div id='description'> |
|
123 | <h1>$title</h1> |
|
124 | <p>$description</p> |
|
125 | <p>$more_info</p> |
|
126 | </div> |
|
127 | <div id='content'> |
|
128 | <!-- <xsl:value-of select="count(sitemap:urlset/sitemap:url)"/> --> |
|
129 | <table> |
|
130 | <tr> |
|
131 | <th>#</th> |
|
132 | <th>$header_url</th> |
|
133 | <th>$header_lastmod</th> |
|
134 | </tr> |
|
135 | <xsl:for-each select="sitemap:urlset/sitemap:url"> |
|
136 | <tr> |
|
137 | <xsl:choose> |
|
138 | <xsl:when test='position() mod 2 != 1'> |
|
139 | <xsl:attribute name="class">odd</xsl:attribute> |
|
140 | </xsl:when> |
|
141 | </xsl:choose> |
|
142 | <td> |
|
143 | <xsl:value-of select = "position()" /> |
|
144 | </td> |
|
145 | <td> |
|
146 | <xsl:variable name='itemURL'> |
|
147 | <xsl:value-of select='sitemap:loc'/> |
|
148 | </xsl:variable> |
|
149 | <a href='{\$itemURL}'> |
|
150 | <xsl:value-of select='sitemap:loc'/> |
|
151 | </a> |
|
152 | </td> |
|
153 | <td> |
|
154 | <xsl:value-of select='sitemap:lastmod'/> |
|
155 | </td> |
|
156 | </tr> |
|
157 | </xsl:for-each> |
|
158 | </table> |
|
159 | </div> |
|
160 | <div id='footer'> |
|
161 | <p>$generated_by</p> |
|
162 | </div> |
|
163 | </body> |
|
164 | </html> |
|
165 | </xsl:template> |
|
166 | </xsl:stylesheet>\n |
|
167 | XSL; |
|
168 | } |
|
169 | ||
170 | /** |
|
171 | * Returns the xsl of a sitemap index xml file as a string. |
|
@@ 178-279 (lines=102) @@ | ||
175 | * |
|
176 | * @return string The contents of the xsl file. |
|
177 | */ |
|
178 | public static function sitemap_index_xsl() { |
|
179 | $title = esc_html( ent2ncr( __( 'XML Sitemap Index', 'jetpack' ) ) ); |
|
180 | $header_url = esc_html( ent2ncr( __( 'Sitemap URL', 'jetpack' ) ) ); |
|
181 | $header_lastmod = esc_html( ent2ncr( __( 'Last Modified', 'jetpack' ) ) ); |
|
182 | ||
183 | $description = self::sanitize_with_links( |
|
184 | __( |
|
185 | 'This is an XML Sitemap Index generated by <a href="%1$s" target="_blank">Jetpack</a>, meant to be consumed by search engines like <a href="%2$s" target="_blank">Google</a> or <a href="%3$s" target="_blank">Bing</a>.', |
|
186 | 'jetpack' |
|
187 | ), |
|
188 | array( |
|
189 | 1 => 'http://jetpack.com/', |
|
190 | 2 => 'https://www.google.com/', |
|
191 | 3 => 'https://www.bing.com/', |
|
192 | ) |
|
193 | ); |
|
194 | ||
195 | $more_info = self::sanitize_with_links( |
|
196 | __( |
|
197 | 'You can find more information on XML sitemaps at <a href="%1$s" target="_blank">sitemaps.org</a>', |
|
198 | 'jetpack' |
|
199 | ), |
|
200 | array( |
|
201 | 1 => 'http://sitemaps.org', |
|
202 | ) |
|
203 | ); |
|
204 | ||
205 | $generated_by = self::sanitize_with_links( |
|
206 | __( |
|
207 | 'Generated by <a href="%s" target="_blank">Jetpack for WordPress</a>', |
|
208 | 'jetpack' |
|
209 | ), |
|
210 | array( |
|
211 | 1 => 'https://jetpack.com', |
|
212 | ) |
|
213 | ); |
|
214 | ||
215 | $css = self::sitemap_xsl_css(); |
|
216 | ||
217 | return <<<XSL |
|
218 | <?xml version='1.0' encoding='UTF-8'?> |
|
219 | <xsl:stylesheet version='2.0' |
|
220 | xmlns:html='http://www.w3.org/TR/REC-html40' |
|
221 | xmlns:sitemap='http://www.sitemaps.org/schemas/sitemap/0.9' |
|
222 | xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> |
|
223 | <xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/> |
|
224 | <xsl:template match="/"> |
|
225 | <html xmlns="http://www.w3.org/1999/xhtml"> |
|
226 | <head> |
|
227 | <title>$title</title> |
|
228 | <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/> |
|
229 | <style type='text/css'> |
|
230 | $css |
|
231 | </style> |
|
232 | </head> |
|
233 | <body> |
|
234 | <div id='description'> |
|
235 | <h1>$title</h1> |
|
236 | <p>$description</p> |
|
237 | <p>$more_info</p> |
|
238 | </div> |
|
239 | <div id='content'> |
|
240 | <table> |
|
241 | <tr> |
|
242 | <th>#</th> |
|
243 | <th>$header_url</th> |
|
244 | <th>$header_lastmod</th> |
|
245 | </tr> |
|
246 | <xsl:for-each select='sitemap:sitemapindex/sitemap:sitemap'> |
|
247 | <tr> |
|
248 | <xsl:choose> |
|
249 | <xsl:when test='position() mod 2 != 1'> |
|
250 | <xsl:attribute name="class">odd</xsl:attribute> |
|
251 | </xsl:when> |
|
252 | </xsl:choose> |
|
253 | <td> |
|
254 | <xsl:value-of select = "position()" /> |
|
255 | </td> |
|
256 | <td> |
|
257 | <xsl:variable name='itemURL'> |
|
258 | <xsl:value-of select='sitemap:loc'/> |
|
259 | </xsl:variable> |
|
260 | <a href='{\$itemURL}'> |
|
261 | <xsl:value-of select='sitemap:loc'/> |
|
262 | </a> |
|
263 | </td> |
|
264 | <td> |
|
265 | <xsl:value-of select='sitemap:lastmod'/> |
|
266 | </td> |
|
267 | </tr> |
|
268 | </xsl:for-each> |
|
269 | </table> |
|
270 | </div> |
|
271 | <div id='footer'> |
|
272 | <p>$generated_by</p> |
|
273 | </div> |
|
274 | </body> |
|
275 | </html> |
|
276 | </xsl:template> |
|
277 | </xsl:stylesheet>\n |
|
278 | XSL; |
|
279 | } |
|
280 | ||
281 | /** |
|
282 | * Returns the xsl of an image sitemap xml file as a string. |