angelovcom.net

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

feed-atom-comments.php (5444B)


      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>