| 196 | | if ( !empty($categories) ) foreach ( (array) $categories as $category ) { |
| 197 | | $cat_name = sanitize_term_field('name', $category->name, $category->term_id, 'category', $filter); |
| 198 | | // for backwards compatibility |
| 199 | | $the_list .= "\n\t\t<category><![CDATA[$cat_name]]></category>\n"; |
| 200 | | // forwards compatibility: use a unique identifier for each cat to avoid clashes |
| 201 | | // http://trac.wordpress.org/ticket/5447 |
| 202 | | $the_list .= "\n\t\t<category domain=\"category\" nicename=\"{$category->slug}\"><![CDATA[$cat_name]]></category>\n"; |
| 203 | | } |
| | 196 | if ( !empty($categories) ) foreach ( (array) $categories as $category ) { |
| | 197 | $cat_name = sanitize_term_field('name', $category->name, $category->term_id, 'category', $filter); |
| | 198 | // for backwards compatibility |
| | 199 | $the_list .= "\t<category><![CDATA[$cat_name]]></category>\n"; |
| | 200 | // forwards compatibility: use a unique identifier for each cat to avoid clashes |
| | 201 | // http://trac.wordpress.org/ticket/5447 |
| | 202 | $the_list .= "\t<category domain=\"category\" nicename=\"{$category->slug}\"><![CDATA[$cat_name]]></category>\n"; |
| | 203 | } |
| 205 | | if ( !empty($tags) ) foreach ( (array) $tags as $tag ) { |
| 206 | | $tag_name = sanitize_term_field('name', $tag->name, $tag->term_id, 'post_tag', $filter); |
| 207 | | $the_list .= "\n\t\t<category domain=\"tag\"><![CDATA[$tag_name]]></category>\n"; |
| 208 | | // forwards compatibility as above |
| 209 | | $the_list .= "\n\t\t<category domain=\"tag\" nicename=\"{$tag->slug}\"><![CDATA[$tag_name]]></category>\n"; |
| 210 | | } |
| | 205 | if ( !empty($tags) ) foreach ( (array) $tags as $tag ) { |
| | 206 | $tag_name = sanitize_term_field('name', $tag->name, $tag->term_id, 'post_tag', $filter); |
| | 207 | $the_list .= "\t<category domain=\"tag\"><![CDATA[$tag_name]]></category>\n"; |
| | 208 | // forwards compatibility as above |
| | 209 | $the_list .= "\t<category domain=\"tag\" nicename=\"{$tag->slug}\"><![CDATA[$tag_name]]></category>\n"; |
| | 210 | } |
| 244 | | <title><?php bloginfo_rss('name'); ?></title> |
| 245 | | <link><?php bloginfo_rss('url') ?></link> |
| 246 | | <description><?php bloginfo_rss("description") ?></description> |
| 247 | | <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></pubDate> |
| 248 | | <generator>http://wordpress.org/?v=<?php bloginfo_rss('version'); ?></generator> |
| 249 | | <language><?php echo get_option('rss_language'); ?></language> |
| 250 | | <wp:wxr_version><?php echo WXR_VERSION; ?></wp:wxr_version> |
| 251 | | <wp:base_site_url><?php echo wxr_site_url(); ?></wp:base_site_url> |
| 252 | | <wp:base_blog_url><?php bloginfo_rss('url'); ?></wp:base_blog_url> |
| 253 | | <?php if ( $cats ) : foreach ( $cats as $c ) : ?> |
| 254 | | <wp:category><wp:category_nicename><?php echo $c->slug; ?></wp:category_nicename><wp:category_parent><?php echo $c->parent ? $cats[$c->parent]->name : ''; ?></wp:category_parent><?php wxr_cat_name($c); ?><?php wxr_category_description($c); ?></wp:category> |
| 255 | | <?php endforeach; endif; ?> |
| 256 | | <?php if ( $tags ) : foreach ( $tags as $t ) : ?> |
| 257 | | <wp:tag><wp:tag_slug><?php echo $t->slug; ?></wp:tag_slug><?php wxr_tag_name($t); ?><?php wxr_tag_description($t); ?></wp:tag> |
| 258 | | <?php endforeach; endif; ?> |
| 259 | | <?php do_action('rss2_head'); ?> |
| 260 | | <?php if ($post_ids) { |
| 261 | | global $wp_query; |
| 262 | | $wp_query->in_the_loop = true; // Fake being in the loop. |
| 263 | | // fetch 20 posts at a time rather than loading the entire table into memory |
| 264 | | while ( $next_posts = array_splice($post_ids, 0, 20) ) { |
| 265 | | $where = "WHERE ID IN (".join(',', $next_posts).")"; |
| 266 | | $posts = $wpdb->get_results("SELECT * FROM $wpdb->posts $where ORDER BY post_date_gmt ASC"); |
| 267 | | foreach ($posts as $post) { |
| 268 | | // Don't export revisions. They bloat the export. |
| 269 | | if ( 'revision' == $post->post_type ) |
| 270 | | continue; |
| 271 | | setup_postdata($post); ?> |
| 272 | | <item> |
| 273 | | <title><?php echo apply_filters('the_title_rss', $post->post_title); ?></title> |
| 274 | | <link><?php the_permalink_rss() ?></link> |
| 275 | | <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate> |
| 276 | | <dc:creator><?php echo wxr_cdata(get_the_author()); ?></dc:creator> |
| | 244 | <title><?php bloginfo_rss('name'); ?></title> |
| | 245 | <link><?php bloginfo_rss('url') ?></link> |
| | 246 | <description><?php bloginfo_rss("description") ?></description> |
| | 247 | <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></pubDate> |
| | 248 | <generator>http://wordpress.org/?v=<?php bloginfo_rss('version'); ?></generator> |
| | 249 | <language><?php echo get_option('rss_language'); ?></language> |
| | 250 | <wp:wxr_version><?php echo WXR_VERSION; ?></wp:wxr_version> |
| | 251 | <wp:base_site_url><?php echo wxr_site_url(); ?></wp:base_site_url> |
| | 252 | <wp:base_blog_url><?php bloginfo_rss('url'); ?></wp:base_blog_url> |
| | 253 | <?php |
| | 254 | if ( $cats ) : |
| | 255 | foreach ( $cats as $c ) : |
| | 256 | ?> |
| | 257 | <wp:category><wp:category_nicename><?php echo $c->slug; ?></wp:category_nicename><wp:category_parent><?php echo $c->parent ? $cats[$c->parent]->name : ''; ?></wp:category_parent><?php wxr_cat_name($c); ?><?php wxr_category_description($c); ?></wp:category> |
| | 258 | <?php |
| | 259 | endforeach; |
| | 260 | endif; |
| | 261 | if ( $tags ) : |
| | 262 | foreach ( $tags as $t ) : |
| | 263 | ?> |
| | 264 | <wp:tag><wp:tag_slug><?php echo $t->slug; ?></wp:tag_slug><?php wxr_tag_name($t); ?><?php wxr_tag_description($t); ?></wp:tag> |
| | 265 | <?php |
| | 266 | endforeach; |
| | 267 | endif; |
| | 268 | do_action('rss2_head'); |
| | 269 | if ($post_ids) { |
| | 270 | global $wp_query; |
| | 271 | $wp_query->in_the_loop = true; // Fake being in the loop. |
| | 272 | // fetch 20 posts at a time rather than loading the entire table into memory |
| | 273 | while ( $next_posts = array_splice($post_ids, 0, 20) ) { |
| | 274 | |
| | 275 | // unset wpdb->queries as this is growing with each query. |
| | 276 | unset($wpdb->queries); |
| | 277 | $wpdb->queries=array(); |
| | 278 | |
| | 279 | $where = "WHERE ID IN (".join(',', $next_posts).")"; |
| | 280 | $posts = $wpdb->get_results("SELECT * FROM $wpdb->posts $where ORDER BY post_date_gmt ASC"); |
| | 281 | foreach ($posts as $post) { |
| | 282 | // Don't export revisions. They bloat the export. |
| | 283 | if ( 'revision' == $post->post_type ) |
| | 284 | continue; |
| | 285 | setup_postdata($post); |
| | 286 | ?> |
| | 287 | <item> |
| | 288 | <title><?php echo apply_filters('the_title_rss', $post->post_title); ?></title> |
| | 289 | <link><?php the_permalink_rss() ?></link> |
| | 290 | <pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate> |
| | 291 | <dc:creator><?php echo wxr_cdata(get_the_author()); ?></dc:creator> |
| | 293 | <guid isPermaLink="false"><?php the_guid(); ?></guid> |
| | 294 | <description></description> |
| | 295 | <content:encoded><?php echo wxr_cdata( apply_filters('the_content_export', $post->post_content) ); ?></content:encoded> |
| | 296 | <excerpt:encoded><?php echo wxr_cdata( apply_filters('the_excerpt_export', $post->post_excerpt) ); ?></excerpt:encoded> |
| | 297 | <wp:post_id><?php echo $post->ID; ?></wp:post_id> |
| | 298 | <wp:post_date><?php echo $post->post_date; ?></wp:post_date> |
| | 299 | <wp:post_date_gmt><?php echo $post->post_date_gmt; ?></wp:post_date_gmt> |
| | 300 | <wp:comment_status><?php echo $post->comment_status; ?></wp:comment_status> |
| | 301 | <wp:ping_status><?php echo $post->ping_status; ?></wp:ping_status> |
| | 302 | <wp:post_name><?php echo $post->post_name; ?></wp:post_name> |
| | 303 | <wp:status><?php echo $post->post_status; ?></wp:status> |
| | 304 | <wp:post_parent><?php echo $post->post_parent; ?></wp:post_parent> |
| | 305 | <wp:menu_order><?php echo $post->menu_order; ?></wp:menu_order> |
| | 306 | <wp:post_type><?php echo $post->post_type; ?></wp:post_type> |
| | 307 | <wp:post_password><?php echo $post->post_password; ?></wp:post_password> |
| | 308 | <?php |
| | 309 | if ($post->post_type == 'attachment') { |
| | 310 | ?> |
| | 311 | <wp:attachment_url><?php echo wp_get_attachment_url($post->ID); ?></wp:attachment_url> |
| | 312 | <?php |
| | 313 | } |
| | 314 | $postmeta = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->postmeta WHERE post_id = %d", $post->ID) ); |
| | 315 | if ( $postmeta ) { |
| | 316 | foreach( $postmeta as $meta ) { |
| | 317 | ?> |
| | 318 | <wp:postmeta> |
| | 319 | <wp:meta_key><?php echo $meta->meta_key; ?></wp:meta_key> |
| | 320 | <wp:meta_value><?php echo $meta->meta_value; ?></wp:meta_value> |
| | 321 | </wp:postmeta> |
| | 322 | <?php |
| | 323 | } |
| | 324 | } |
| 279 | | <guid isPermaLink="false"><?php the_guid(); ?></guid> |
| 280 | | <description></description> |
| 281 | | <content:encoded><?php echo wxr_cdata( apply_filters('the_content_export', $post->post_content) ); ?></content:encoded> |
| 282 | | <excerpt:encoded><?php echo wxr_cdata( apply_filters('the_excerpt_export', $post->post_excerpt) ); ?></excerpt:encoded> |
| 283 | | <wp:post_id><?php echo $post->ID; ?></wp:post_id> |
| 284 | | <wp:post_date><?php echo $post->post_date; ?></wp:post_date> |
| 285 | | <wp:post_date_gmt><?php echo $post->post_date_gmt; ?></wp:post_date_gmt> |
| 286 | | <wp:comment_status><?php echo $post->comment_status; ?></wp:comment_status> |
| 287 | | <wp:ping_status><?php echo $post->ping_status; ?></wp:ping_status> |
| 288 | | <wp:post_name><?php echo $post->post_name; ?></wp:post_name> |
| 289 | | <wp:status><?php echo $post->post_status; ?></wp:status> |
| 290 | | <wp:post_parent><?php echo $post->post_parent; ?></wp:post_parent> |
| 291 | | <wp:menu_order><?php echo $post->menu_order; ?></wp:menu_order> |
| 292 | | <wp:post_type><?php echo $post->post_type; ?></wp:post_type> |
| 293 | | <wp:post_password><?php echo $post->post_password; ?></wp:post_password> |
| | 326 | $comments = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d", $post->ID) ); |
| | 327 | |
| | 328 | if ( $comments ) { |
| | 329 | foreach ( $comments as $c ) { |
| | 330 | ?> |
| | 331 | <wp:comment> |
| | 332 | <wp:comment_id><?php echo $c->comment_ID; ?></wp:comment_id> |
| | 333 | <wp:comment_author><?php echo wxr_cdata($c->comment_author); ?></wp:comment_author> |
| | 334 | <wp:comment_author_email><?php echo $c->comment_author_email; ?></wp:comment_author_email> |
| | 335 | <wp:comment_author_url><?php echo $c->comment_author_url; ?></wp:comment_author_url> |
| | 336 | <wp:comment_author_IP><?php echo $c->comment_author_IP; ?></wp:comment_author_IP> |
| | 337 | <wp:comment_date><?php echo $c->comment_date; ?></wp:comment_date> |
| | 338 | <wp:comment_date_gmt><?php echo $c->comment_date_gmt; ?></wp:comment_date_gmt> |
| | 339 | <wp:comment_content><?php echo wxr_cdata($c->comment_content) ?></wp:comment_content> |
| | 340 | <wp:comment_approved><?php echo $c->comment_approved; ?></wp:comment_approved> |
| | 341 | <wp:comment_type><?php echo $c->comment_type; ?></wp:comment_type> |
| | 342 | <wp:comment_parent><?php echo $c->comment_parent; ?></wp:comment_parent> |
| | 343 | <wp:comment_user_id><?php echo $c->user_id; ?></wp:comment_user_id> |
| | 344 | </wp:comment> |
| 302 | | <?php foreach( $postmeta as $meta ) { ?> |
| 303 | | <wp:postmeta> |
| 304 | | <wp:meta_key><?php echo $meta->meta_key; ?></wp:meta_key> |
| 305 | | <wp:meta_value><?Php echo $meta->meta_value; ?></wp:meta_value> |
| 306 | | </wp:postmeta> |
| 307 | | <?php } ?> |
| 308 | | <?php } ?> |
| 309 | | <?php |
| 310 | | $comments = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d", $post->ID) ); |
| 311 | | if ( $comments ) { foreach ( $comments as $c ) { ?> |
| 312 | | <wp:comment> |
| 313 | | <wp:comment_id><?php echo $c->comment_ID; ?></wp:comment_id> |
| 314 | | <wp:comment_author><?php echo wxr_cdata($c->comment_author); ?></wp:comment_author> |
| 315 | | <wp:comment_author_email><?php echo $c->comment_author_email; ?></wp:comment_author_email> |
| 316 | | <wp:comment_author_url><?php echo $c->comment_author_url; ?></wp:comment_author_url> |
| 317 | | <wp:comment_author_IP><?php echo $c->comment_author_IP; ?></wp:comment_author_IP> |
| 318 | | <wp:comment_date><?php echo $c->comment_date; ?></wp:comment_date> |
| 319 | | <wp:comment_date_gmt><?php echo $c->comment_date_gmt; ?></wp:comment_date_gmt> |
| 320 | | <wp:comment_content><?php echo wxr_cdata($c->comment_content) ?></wp:comment_content> |
| 321 | | <wp:comment_approved><?php echo $c->comment_approved; ?></wp:comment_approved> |
| 322 | | <wp:comment_type><?php echo $c->comment_type; ?></wp:comment_type> |
| 323 | | <wp:comment_parent><?php echo $c->comment_parent; ?></wp:comment_parent> |
| 324 | | <wp:comment_user_id><?php echo $c->user_id; ?></wp:comment_user_id> |
| 325 | | </wp:comment> |
| 326 | | <?php } } ?> |
| 327 | | </item> |
| 328 | | <?php } } } ?> |
| 329 | | </channel> |
| | 354 | </channel> |