[ Index ] |
PHP Cross Reference of WordPress |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Atom Feed Template for displaying Atom Comments feed. 4 * 5 * @package WordPress 6 */ 7 8 header( 'Content-Type: ' . feed_content_type( 'atom' ) . '; charset=' . get_option( 'blog_charset' ), true ); 9 echo '<?xml version="1.0" encoding="' . get_option( 'blog_charset' ) . '" ?' . '>'; 10 11 /** This action is documented in wp-includes/feed-rss2.php */ 12 do_action( 'rss_tag_pre', 'atom-comments' ); 13 ?> 14 <feed 15 xmlns="http://www.w3.org/2005/Atom" 16 xml:lang="<?php bloginfo_rss( 'language' ); ?>" 17 xmlns:thr="http://purl.org/syndication/thread/1.0" 18 <?php 19 /** This action is documented in wp-includes/feed-atom.php */ 20 do_action( 'atom_ns' ); 21 22 /** 23 * Fires inside the feed tag in the Atom comment feed. 24 * 25 * @since 2.8.0 26 */ 27 do_action( 'atom_comments_ns' ); 28 ?> 29 > 30 <title type="text"> 31 <?php 32 if ( is_singular() ) { 33 /* translators: Comments feed title. %s: Post title. */ 34 printf( ent2ncr( __( 'Comments on %s' ) ), get_the_title_rss() ); 35 } elseif ( is_search() ) { 36 /* translators: Comments feed title. 1: Site title, 2: Search query. */ 37 printf( ent2ncr( __( 'Comments for %1$s searching on %2$s' ) ), get_bloginfo_rss( 'name' ), get_search_query() ); 38 } else { 39 /* translators: Comments feed title. %s: Site title. */ 40 printf( ent2ncr( __( 'Comments for %s' ) ), get_wp_title_rss() ); 41 } 42 ?> 43 </title> 44 <subtitle type="text"><?php bloginfo_rss( 'description' ); ?></subtitle> 45 46 <updated><?php echo get_feed_build_date( 'Y-m-d\TH:i:s\Z' ); ?></updated> 47 48 <?php if ( is_singular() ) : ?> 49 <link rel="alternate" type="<?php bloginfo_rss( 'html_type' ); ?>" href="<?php comments_link_feed(); ?>" /> 50 <link rel="self" type="application/atom+xml" href="<?php echo esc_url( get_post_comments_feed_link( '', 'atom' ) ); ?>" /> 51 <id><?php echo esc_url( get_post_comments_feed_link( '', 'atom' ) ); ?></id> 52 <?php elseif ( is_search() ) : ?> 53 <link rel="alternate" type="<?php bloginfo_rss( 'html_type' ); ?>" href="<?php echo home_url() . '?s=' . get_search_query(); ?>" /> 54 <link rel="self" type="application/atom+xml" href="<?php echo get_search_comments_feed_link( '', 'atom' ); ?>" /> 55 <id><?php echo get_search_comments_feed_link( '', 'atom' ); ?></id> 56 <?php else : ?> 57 <link rel="alternate" type="<?php bloginfo_rss( 'html_type' ); ?>" href="<?php bloginfo_rss( 'url' ); ?>" /> 58 <link rel="self" type="application/atom+xml" href="<?php bloginfo_rss( 'comments_atom_url' ); ?>" /> 59 <id><?php bloginfo_rss( 'comments_atom_url' ); ?></id> 60 <?php endif; ?> 61 <?php 62 /** 63 * Fires at the end of the Atom comment feed header. 64 * 65 * @since 2.8.0 66 */ 67 do_action( 'comments_atom_head' ); 68 ?> 69 <?php 70 while ( have_comments() ) : 71 the_comment(); 72 $comment_post = get_post( $comment->comment_post_ID ); 73 $GLOBALS['post'] = $comment_post; 74 ?> 75 <entry> 76 <title> 77 <?php 78 if ( ! is_singular() ) { 79 $title = get_the_title( $comment_post->ID ); 80 /** This filter is documented in wp-includes/feed.php */ 81 $title = apply_filters( 'the_title_rss', $title ); 82 /* translators: Individual comment title. 1: Post title, 2: Comment author name. */ 83 printf( ent2ncr( __( 'Comment on %1$s by %2$s' ) ), $title, get_comment_author_rss() ); 84 } else { 85 /* translators: Comment author title. %s: Comment author name. */ 86 printf( ent2ncr( __( 'By: %s' ) ), get_comment_author_rss() ); 87 } 88 ?> 89 </title> 90 <link rel="alternate" href="<?php comment_link(); ?>" type="<?php bloginfo_rss( 'html_type' ); ?>" /> 91 92 <author> 93 <name><?php comment_author_rss(); ?></name> 94 <?php 95 if ( get_comment_author_url() ) { 96 echo '<uri>' . get_comment_author_url() . '</uri>';} 97 ?> 98 99 </author> 100 101 <id><?php comment_guid(); ?></id> 102 <updated><?php echo mysql2date( 'Y-m-d\TH:i:s\Z', get_comment_time( 'Y-m-d H:i:s', true, false ), false ); ?></updated> 103 <published><?php echo mysql2date( 'Y-m-d\TH:i:s\Z', get_comment_time( 'Y-m-d H:i:s', true, false ), false ); ?></published> 104 105 <?php if ( post_password_required( $comment_post ) ) : ?> 106 <content type="html" xml:base="<?php comment_link(); ?>"><![CDATA[<?php echo get_the_password_form(); ?>]]></content> 107 <?php else : ?> 108 <content type="html" xml:base="<?php comment_link(); ?>"><![CDATA[<?php comment_text(); ?>]]></content> 109 <?php endif; // End if post_password_required(). ?> 110 111 <?php 112 // Return comment threading information (https://www.ietf.org/rfc/rfc4685.txt). 113 if ( 0 == $comment->comment_parent ) : // This comment is top-level. 114 ?> 115 <thr:in-reply-to ref="<?php the_guid(); ?>" href="<?php the_permalink_rss(); ?>" type="<?php bloginfo_rss( 'html_type' ); ?>" /> 116 <?php 117 else : // This comment is in reply to another comment. 118 $parent_comment = get_comment( $comment->comment_parent ); 119 /* 120 * The rel attribute below and the id tag above should be GUIDs, 121 * but WP doesn't create them for comments (unlike posts). 122 * Either way, it's more important that they both use the same system. 123 */ 124 ?> 125 <thr:in-reply-to ref="<?php comment_guid( $parent_comment ); ?>" href="<?php echo get_comment_link( $parent_comment ); ?>" type="<?php bloginfo_rss( 'html_type' ); ?>" /> 126 <?php 127 endif; 128 129 /** 130 * Fires at the end of each Atom comment feed item. 131 * 132 * @since 2.2.0 133 * 134 * @param int $comment_id ID of the current comment. 135 * @param int $comment_post_id ID of the post the current comment is connected to. 136 */ 137 do_action( 'comment_atom_entry', $comment->comment_ID, $comment_post->ID ); 138 ?> 139 </entry> 140 <?php 141 endwhile; 142 ?> 143 </feed>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Nov 21 01:00:03 2024 | Cross-referenced by PHPXref 0.7.1 |