function echo_entry()
    {
        ?>
<entry xmlns="<?php 
        echo $this->ATOM_NS;
        ?>
"
       xmlns:app="<?php 
        echo $this->ATOMPUB_NS;
        ?>
" xml:lang="<?php 
        echo get_option('rss_language');
        ?>
">
	<id><?php 
        the_guid($GLOBALS['post']->ID);
        ?>
</id>
<?php 
        list($content_type, $content) = prep_atom_text_construct(get_the_title());
        ?>
	<title type="<?php 
        echo $content_type;
        ?>
"><?php 
        echo $content;
        ?>
</title>
	<updated><?php 
        echo get_post_modified_time('Y-m-d\\TH:i:s\\Z', true);
        ?>
</updated>
	<published><?php 
        echo get_post_time('Y-m-d\\TH:i:s\\Z', true);
        ?>
</published>
	<app:edited><?php 
        echo get_post_modified_time('Y-m-d\\TH:i:s\\Z', true);
        ?>
</app:edited>
	<app:control>
		<app:draft><?php 
        echo $GLOBALS['post']->post_status == 'draft' ? 'yes' : 'no';
        ?>
</app:draft>
	</app:control>
	<author>
		<name><?php 
        the_author();
        ?>
</name>
<?php 
        if (get_the_author_url() && get_the_author_url() != 'http://') {
            ?>
		<uri><?php 
            the_author_url();
            ?>
</uri>
<?php 
        }
        ?>
	</author>
<?php 
        if ($GLOBALS['post']->post_type == 'attachment') {
            ?>
	<link rel="edit-media" href="<?php 
            $this->the_media_url();
            ?>
" />
	<content type="<?php 
            echo $GLOBALS['post']->post_mime_type;
            ?>
" src="<?php 
            the_guid();
            ?>
"/>
<?php 
        } else {
            ?>
	<link href="<?php 
            the_permalink_rss();
            ?>
" />
<?php 
            if (strlen($GLOBALS['post']->post_content)) {
                list($content_type, $content) = prep_atom_text_construct(get_the_content());
                ?>
	<content type="<?php 
                echo $content_type;
                ?>
"><?php 
                echo $content;
                ?>
</content>
<?php 
            }
        }
        ?>
	<link rel="edit" href="<?php 
        $this->the_entry_url();
        ?>
" />
<?php 
        foreach (get_the_category() as $category) {
            ?>
	<category scheme="<?php 
            bloginfo_rss('home');
            ?>
" term="<?php 
            echo $category->name;
            ?>
" />
<?php 
        }
        list($content_type, $content) = prep_atom_text_construct(get_the_excerpt());
        ?>
	<summary type="<?php 
        echo $content_type;
        ?>
"><?php 
        echo $content;
        ?>
</summary>
</entry>
<?php 
    }
	<?php 
do_action('atom_head');
?>
	<?php 
while (have_posts()) {
    the_post();
    ?>
	<entry>
		<author>
			<name><?php 
    the_author();
    ?>
</name>
			<uri><?php 
    the_author_url();
    ?>
</uri>
		</author>
		<title type="<?php 
    html_type_rss();
    ?>
"><![CDATA[<?php 
    the_title_rss();
    ?>
]]></title>
		<link rel="alternate" type="text/html" href="<?php 
    permalink_single_rss();
    ?>
" />
		<id><?php 
	function get_entry($postID, $post_type = 'post') {
		log_app('function',"get_entry($postID, '$post_type')");
		ob_start();
		global $posts, $post, $wp_query, $wp, $wpdb, $blog_id, $post_cache;
		switch($post_type) {
			case 'post':
				$varname = 'p';
				break;
			case 'attachment':
				$varname = 'attachment_id';
				break;
		}
		query_posts($varname . '=' . $postID);
		if ( have_posts() ) : while ( have_posts() ) : the_post();
		$post = $GLOBALS['post'];
		?>
		<?php log_app('$post',print_r($GLOBALS['post'],true)); ?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://purl.org/atom/app#" xml:lang="<?php echo get_option('rss_language'); ?>">
	<id><?php the_guid($post->ID); ?></id>
	<title type="html"><![CDATA[<?php the_title_rss() ?>]]></title>

	<updated><?php echo get_post_modified_time('Y-m-d\TH:i:s\Z', true); ?></updated>
	<published><?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?></published>
	<app:control>
		<app:draft><?php echo ($GLOBALS['post']->post_status == 'draft' ? 'yes' : 'no') ?></app:draft>
	</app:control>
	<author>
		<name><?php the_author()?></name>
		<email><?php the_author_email()?></email>
		<uri><?php the_author_url()?></uri>
	</author>
<?php if($GLOBALS['post']->post_type == 'attachment') { ?>
	<link rel="edit" href="<?php $this->the_entry_url() ?>" />
	<link rel="edit-media" href="<?php $this->the_media_url() ?>" />
	<content type="<?php echo $GLOBALS['post']->post_mime_type ?>" src="<?php the_guid(); ?>"/>
<?php } else { ?>
	<link href="<?php permalink_single_rss() ?>" />
	<link rel="edit" href="<?php $this->the_entry_url() ?>" />
<?php } ?>
<?php foreach(get_the_category() as $category) { ?>
	<category scheme="<?php bloginfo_rss('home') ?>" term="<?php echo $category->cat_name?>" />
	<summary type="html"><![CDATA[<?php the_excerpt_rss(); ?>]]></summary>
<?php }
	if ( strlen( $GLOBALS['post']->post_content ) ) : ?>
	<content type="html"><![CDATA[<?php echo get_the_content('', 0, '') ?>]]></content>
<?php endif; ?>
</entry>
<?php
		$entry = ob_get_contents();
		break;
		endwhile;
		else:
			$this->auth_required(__("Access Denied."));
		endif;
		ob_end_clean();

		log_app('get_entry returning:',$entry);
		return $entry; 
	}
	<title type="text"><?php bloginfo_rss('name'); wp_title_rss(); ?></title>
	<subtitle type="text"><?php bloginfo_rss("description") ?></subtitle>

	<updated><?php echo mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT')); ?></updated>
	<generator uri="http://wordpress.org/" version="<?php bloginfo_rss('version'); ?>">WordPress</generator>

	<link rel="alternate" type="text/html" href="<?php bloginfo_rss('home') ?>" />
	<id><?php bloginfo('atom_url'); ?></id>
	<link rel="self" type="application/atom+xml" href="<?php bloginfo('atom_url'); ?>" />

	<?php do_action('atom_head'); ?>
	<?php while (have_posts()) : the_post(); ?>
	<entry>
		<author>
			<name><?php the_author() ?></name>
			<uri><?php the_author_url()?></uri>
		</author>
		<title type="<?php html_type_rss(); ?>"><![CDATA[<?php the_title_rss() ?>]]></title>
		<link rel="alternate" type="text/html" href="<?php permalink_single_rss() ?>" />
		<id><?php the_guid(); ?></id>
		<updated><?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?></updated>
		<published><?php echo get_post_time('Y-m-d\TH:i:s\Z', true); ?></published>
		<?php the_category_rss('atom') ?>
		<summary type="<?php html_type_rss(); ?>"><![CDATA[<?php the_excerpt_rss(); ?>]]></summary>
<?php if ( !get_option('rss_use_excerpt') ) : ?>
		<content type="<?php html_type_rss(); ?>" xml:base="<?php permalink_single_rss() ?>"><![CDATA[<?php the_content('', 0, '') ?>]]></content>
<?php endif; ?>
<?php atom_enclosure(); ?>
<?php do_action('atom_entry'); ?>
	</entry>
	<?php endwhile ; ?>
Example #5
0
		the_post();
?>

				<h1 class="page-title author"><?php printf( __( 'Articles Written By: %s', 'pts' ), "<span class='vcard'><a class='url fn n' href='" . get_author_posts_url( get_the_author_meta( 'ID' ) ) . "' title='" . esc_attr( get_the_author() ) . "' rel='me'>" . get_the_author() . "</a></span>" ); ?></h1>

<?php
// If a user has filled out their description, show a bio on their entries.
if ( get_the_author_meta( 'description' ) ) : ?>
					<div id="entry-author-info">
						
						<div id="author-description"><span id="author-avatar">
							<?php echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'pts_author_bio_avatar_size', 60 ) ); ?>
						</span><!-- #author-avatar -->
							<h2><?php printf( __( 'About %s', 'pts' ), get_the_author() ); ?></h2>
							<p><?php the_author_meta( 'description' ); ?></p>
							<p><strong>Author Website:</strong> <a href="<?php the_author_url(); ?>"><?php the_author_url(); ?></a><br />
						</div><!-- #author-description	-->
					</div><!-- #entry-author-info -->
<?php endif; ?>

<?php
	/* Since we called the_post() above, we need to
	 * rewind the loop back to the beginning that way
	 * we can run the loop properly, in full.
	 */
	rewind_posts();

	/* Run the loop for the author archive page to output the authors posts
	 * If you want to overload this in a child theme then include a file
	 * called loop-author.php and that will be used instead.
	 */
Example #6
0
function postinfo($postinfo_string)
{
    // one theme option needed below for nofollow trackback / RSS links yes/no
    global $bfa_ata, $post;
    /* replace date format escape placeholders(#) with the actual escpae
    	character (=backslashes). This function removes all backslashes from
    	post info strings to avoid issues with hosts that have magic_quotes_gpc ON.
    	But we want to keep the backslashes inside date items, because they are
    	needed to escape literal strings inside dates */
    $postinfo_string = str_replace("#", "\\", $postinfo_string);
    $postinfo = $postinfo_string;
    // Author public name
    if (strpos($postinfo_string, '%author%') !== FALSE) {
        ob_start();
        the_author();
        $author = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author%", $author, $postinfo);
    }
    // Public name of Author who last modified a post, since WordPress 2.8.
    // Check first if function is available (= if this is WP 2.8+)
    if (function_exists('the_modified_author')) {
        if (strpos($postinfo_string, '%modified-author%') !== FALSE) {
            ob_start();
            the_modified_author();
            $modified_author = ob_get_contents();
            ob_end_clean();
            $postinfo = str_replace("%modified-author%", $modified_author, $postinfo);
        }
    }
    // Author about yourself
    if (strpos($postinfo_string, '%author-description%') !== FALSE) {
        ob_start();
        the_author_description();
        $author_description = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author-description%", $author_description, $postinfo);
    }
    // Author login name
    if (strpos($postinfo_string, '%author-login%') !== FALSE) {
        ob_start();
        the_author_login();
        $author_login = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author-login%", $author_login, $postinfo);
    }
    // Author first name
    if (strpos($postinfo_string, '%author-firstname%') !== FALSE) {
        ob_start();
        the_author_firstname();
        $author_firstname = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author-firstname%", $author_firstname, $postinfo);
    }
    // Author last name
    if (strpos($postinfo_string, '%author-lastname%') !== FALSE) {
        ob_start();
        the_author_lastname();
        $author_lastname = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author-lastname%", $author_lastname, $postinfo);
    }
    // Author nickname
    if (strpos($postinfo_string, '%author-nickname%') !== FALSE) {
        ob_start();
        the_author_nickname();
        $author_nickname = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author-nickname%", $author_nickname, $postinfo);
    }
    // Author ID
    if (strpos($postinfo_string, '%author-id%') !== FALSE) {
        ob_start();
        the_author_ID();
        $author_ID = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author-id%", $author_ID, $postinfo);
    }
    // Author email address, clear text in HTML source code
    if (strpos($postinfo_string, '%author-email-clear%') !== FALSE) {
        ob_start();
        the_author_email();
        $author_email_clear = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author-email-clear%", $author_email_clear, $postinfo);
    }
    // Author email address obfuscated
    if (strpos($postinfo_string, '%author-email%') !== FALSE) {
        $postinfo = str_replace("%author-email%", antispambot(get_the_author_email()), $postinfo);
    }
    // Author website URL
    if (strpos($postinfo_string, '%author-url%') !== FALSE) {
        ob_start();
        the_author_url();
        $author_url = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author-url%", $author_url, $postinfo);
    }
    // Author website link
    if (strpos($postinfo_string, '%author-link%') !== FALSE) {
        ob_start();
        the_author_link();
        $author_link = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author-link%", $author_link, $postinfo);
    }
    // Author posts archive link
    if (strpos($postinfo_string, '%author-posts-link%') !== FALSE) {
        ob_start();
        the_author_posts_link();
        $author_posts_link = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author-posts-link%", $author_posts_link, $postinfo);
    }
    //  LEGACY: %author-linked% replaced by %author-posts-link% in 3.3.2, but displays the same: Author posts archive link
    if (strpos($postinfo_string, '%author-linked%') !== FALSE) {
        ob_start();
        the_author_posts_link();
        $author_posts_link = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author-linked%", $author_posts_link, $postinfo);
    }
    // Author post count
    if (strpos($postinfo_string, '%author-post-count%') !== FALSE) {
        ob_start();
        the_author_posts();
        $author_post_count = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author-post-count%", $author_post_count, $postinfo);
    }
    // Author AOL Instant Messenger screenname
    if (strpos($postinfo_string, '%author-aim%') !== FALSE) {
        ob_start();
        the_author_aim();
        $author_aim = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author-aim%", $author_aim, $postinfo);
    }
    // Author Yahoo IM ID
    if (strpos($postinfo_string, '%author-yim%') !== FALSE) {
        ob_start();
        the_author_yim();
        $author_yim = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%author-yim%", $author_yim, $postinfo);
    }
    // Date & Time
    if (strpos($postinfo_string, '%date(') !== FALSE) {
        $date_param = preg_match("/(.*)\\%date\\('(.*?)'\\)(.*)/i", $postinfo_string, $date_matches);
        ob_start();
        the_time($date_matches[2]);
        $date = ob_get_contents();
        ob_end_clean();
        $postinfo = preg_replace("/(.*)%date\\((.*?)\\)%(.*)/i", "\${1}" . $date . "\${3}", $postinfo);
    }
    // Date & Time, last modified
    if (strpos($postinfo_string, '%date-modified(') !== FALSE) {
        $date_param = preg_match("/(.*)\\%date-modified\\('(.*?)'\\)(.*)/i", $postinfo_string, $date_matches);
        ob_start();
        the_modified_time($date_matches[2]);
        $date_modified = ob_get_contents();
        ob_end_clean();
        $postinfo = preg_replace("/(.*)%date-modified\\((.*?)\\)%(.*)/i", "\${1}" . $date_modified . "\${3}", $postinfo);
    }
    // Tags, linked - since WP 2.3
    if (strpos($postinfo_string, '%tags-linked') !== FALSE) {
        $tag_link_options = preg_match("/(.*)%tags-linked\\('(.*?)'(.*?)'(.*?)'(.*?)'(.*?)'(.*)/i", $postinfo_string, $tag_link_matches);
        $tags_linked = get_the_tag_list($tag_link_matches[2], $tag_link_matches[4], $tag_link_matches[6]);
        $postinfo = preg_replace("/(.*)%tags-linked\\((.*?)\\)%(.*)/i", "\${1}" . $tags_linked . "\${3}", $postinfo);
    }
    // Tags, linked. If post has no tags, categories are displayed instead -  since WP 2.3
    if (strpos($postinfo_string, '%tags-cats-linked') !== FALSE) {
        $tag_link_options = preg_match("/(.*)%tags-cats-linked\\('(.*?)'(.*?)'(.*?)'(.*?)'(.*?)'(.*)/i", $postinfo_string, $tag_link_matches);
        ob_start();
        the_tags($tag_link_matches[2], $tag_link_matches[4], $tag_link_matches[6]);
        $tags_cats_linked = ob_get_contents();
        ob_end_clean();
        $postinfo = preg_replace("/(.*)%tags-cats-linked\\((.*?)\\)%(.*)/i", "\${1}" . $tags_cats_linked . "\${3}", $postinfo);
    }
    // Tags, not linked - since WP 2.3
    if (strpos($postinfo_string, '%tags(') !== FALSE) {
        $tag_options = preg_match("/(.*)%tags\\('(.*?)'(.*?)'(.*?)'(.*?)'(.*?)'(.*)/i", $postinfo_string, $tag_matches);
        $posttags = get_the_tags();
        if ($posttags) {
            foreach ($posttags as $tag) {
                $tag_list .= $tag->name . $tag_matches[4];
            }
            // remove last separator
            $tag_list = preg_replace("/" . $tag_matches[4] . "\$/mi", "", $tag_list);
            $tags = $tag_matches[2] . $tag_list . $tag_matches[6];
        } else {
            $tags = "";
        }
        $postinfo = preg_replace("/(.*)%tags\\((.*?)\\)%(.*)/i", "\${1}" . $tags . "\${3}", $postinfo);
    }
    // 1st category
    if (strpos($postinfo_string, '%category%') !== FALSE) {
        $all_categories = get_the_category();
        $category = $all_categories[0]->cat_name;
        $category_notlinked = $category;
        $postinfo = str_replace("%category%", $category_notlinked, $postinfo);
    }
    // 1st category, linked
    if (strpos($postinfo_string, '%category-linked%') !== FALSE) {
        $all_categories = get_the_category();
        $category = $all_categories[0]->cat_name;
        $category_linked = '<a href="' . get_category_link($all_categories[0]->cat_ID) . '">' . $category . '</a>';
        $postinfo = str_replace("%category-linked%", $category_linked, $postinfo);
    }
    // Categories, linked
    if (strpos($postinfo_string, '%categories-linked') !== FALSE) {
        $category_linked_separator = preg_match("/(.*)%categories-linked\\('(.*?)'\\)(.*)/i", $postinfo_string, $category_linked_matches);
        ob_start();
        the_category($category_linked_matches[2]);
        $categories_linked = ob_get_contents();
        ob_end_clean();
        $postinfo = preg_replace("/(.*)%categories-linked\\((.*?)\\)%(.*)/i", "\${1}" . $categories_linked . "\${3}", $postinfo);
    }
    // Categories, not linked
    if (strpos($postinfo_string, '%categories(') !== FALSE) {
        $category_separator = preg_match("/(.*)%categories\\('(.*?)'\\)(.*)/i", $postinfo_string, $category_matches);
        $categories = "";
        foreach (get_the_category() as $category) {
            $categories .= $category->cat_name . $category_matches[2];
        }
        // remove last separator
        $categories = preg_replace("/" . $category_matches[2] . "\$/mi", "", $categories);
        $postinfo = preg_replace("/(.*)%categories\\((.*?)\\)%(.*)/i", "\${1}" . $categories . "\${3}", $postinfo);
    }
    // Comment link
    if (strpos($postinfo_string, '%comments(') !== FALSE) {
        $comment_options = preg_match("/(.*)%comments\\('(.*?)'(.*?)'(.*?)'(.*?)'(.*?)'(.*?)'(.*?)'(.*)/i", $postinfo_string, $comment_matches);
        if (!comments_open() and $comment_matches[8] == "dontshow") {
            $comment_link = '';
        } else {
            ob_start();
            comments_popup_link($comment_matches[2], $comment_matches[4], $comment_matches[6], 'comments-link', $comment_matches[8]);
            $comment_link = ob_get_contents();
            ob_end_clean();
        }
        if (!comments_open()) {
            if ($post->comment_count == 0) {
                $comment_link = '<strong>' . $comment_matches[8] . '</strong>';
            } else {
                $comment_link = $comment_link . ' - <strong>(' . $comment_matches[8] . ')</strong>';
            }
        }
        if (!comments_open() and $comment_matches[8] == "dontshow") {
            $comment_link = '';
        }
        $postinfo = preg_replace("/(.*)%comments\\((.*?)\\)%(.*)/i", "\${1}" . $comment_link . "\${3}", $postinfo);
    }
    // Comments Feed link
    if (strpos($postinfo_string, '%comments-rss') !== FALSE) {
        $comments_rss_link_text = preg_match("/(.*)%comments-rss\\('(.*?)'(.*)/i", $postinfo_string, $comments_rss_matches);
        ob_start();
        //  "post_comments_feed_link" since WP 2.5, else "comments_rss_link"
        if (function_exists('post_comments_feed_link')) {
            post_comments_feed_link($comments_rss_matches[2]);
        } else {
            comments_rss_link($comments_rss_matches[2]);
        }
        $comments_rss_link = ob_get_contents();
        ob_end_clean();
        // make link nofollow if set in theme options
        if ($bfa_ata['nofollow'] == "Yes") {
            $comments_rss_link = str_replace('href=', 'rel="nofollow" href=', $comments_rss_link);
        }
        $postinfo = preg_replace("/(.*)%comments-rss\\((.*?)\\)%(.*)/i", "\${1}" . $comments_rss_link . "\${3}", $postinfo);
    }
    // Trackback URL
    if (strpos($postinfo_string, '%trackback%') !== FALSE) {
        $trackback_url = trackback_url(FALSE);
        $postinfo = str_replace("%trackback%", $trackback_url, $postinfo);
    }
    // Trackback Link
    if (strpos($postinfo_string, '%trackback-linked(') !== FALSE) {
        $trackback_url = trackback_url(FALSE);
        $trackback_link_text = preg_match("/(.*)%trackback-linked\\('(.*?)'(.*)/i", $postinfo_string, $trackback_matches);
        $trackback_link = '<a href="' . $trackback_url . '">' . $trackback_matches[2] . '</a>';
        // make link nofollow if set in theme options
        if ($bfa_ata['nofollow'] == "Yes") {
            $trackback_link = str_replace('href=', 'rel="nofollow" href=', $trackback_link);
        }
        $postinfo = preg_replace("/(.*)%trackback-linked\\((.*?)\\)%(.*)/i", "\${1}" . $trackback_link . "\${3}", $postinfo);
    }
    // Trackback RDF
    if (strpos($postinfo_string, '%trackback-rdf%') !== FALSE) {
        ob_start();
        trackback_rdf();
        $trackback_rdf = "<!-- " . ob_get_contents() . " -->";
        ob_end_clean();
        $postinfo = str_replace("%trackback-rdf%", $trackback_rdf, $postinfo);
    }
    // Permalink
    if (strpos($postinfo_string, '%permalink%') !== FALSE) {
        ob_start();
        the_permalink();
        $permalink = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%permalink%", $permalink, $postinfo);
    }
    // Post ID
    if (strpos($postinfo_string, '%post-id%') !== FALSE) {
        ob_start();
        the_ID();
        $post_id = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%post-id%", $post_id, $postinfo);
    }
    // Post Title
    if (strpos($postinfo_string, '%post-title%') !== FALSE) {
        ob_start();
        the_title();
        $post_title = ob_get_contents();
        ob_end_clean();
        $postinfo = str_replace("%post-title%", $post_title, $postinfo);
    }
    // Edit post
    if (strpos($postinfo_string, '%edit(') !== FALSE) {
        $edit_options = preg_match("/(.*)%edit\\('(.*?)'(.*?)'(.*?)'(.*?)'(.*?)'(.*)/i", $postinfo_string, $edit_matches);
        ob_start();
        edit_post_link($edit_matches[4], $edit_matches[2], $edit_matches[6]);
        $edit_link = ob_get_contents();
        ob_end_clean();
        $postinfo = preg_replace("/(.*)%edit\\((.*?)\\)%(.*)/i", "\${1}" . $edit_link . "\${3}", $postinfo);
    }
    // Print
    if (strpos($postinfo_string, '%print(') !== FALSE) {
        $print_text = preg_match("/(.*)%print\\('(.*?)'(.*)/i", $postinfo_string, $print_text_matches);
        $print_link = '<a href="javascript:window.print()">' . $print_text_matches[2] . '</a>';
        $postinfo = preg_replace("/(.*)%print\\((.*?)\\)%(.*)/i", "\${1}" . $print_link . "\${3}", $postinfo);
    }
    // For the "WP-Email" plugin
    if (strpos($postinfo_string, '%wp-email%') !== FALSE) {
        $wp_email = function_exists('wp_email') ? email_link($email_post_text = '', $email_page_text = '', $echo = FALSE) : "";
        $postinfo = str_replace("%wp-email%", $wp_email, $postinfo);
    }
    // For the "WP-Print" plugin
    if (strpos($postinfo_string, '%wp-print%') !== FALSE) {
        $wp_print = function_exists('wp_print') ? print_link($print_post_text = '', $print_page_text = '', $echo = FALSE) : "";
        $postinfo = str_replace("%wp-print%", $wp_print, $postinfo);
    }
    // For the "WP-PostViews" plugin
    if (strpos($postinfo_string, '%wp-postviews%') !== FALSE) {
        $wp_postviews = function_exists('the_views') ? the_views($display = FALSE) : "";
        $postinfo = str_replace("%wp-postviews%", $wp_postviews, $postinfo);
    }
    // For the "WP-PostRatings" plugin
    if (strpos($postinfo_string, '%wp-postratings%') !== FALSE) {
        $wp_postratings = function_exists('the_ratings') ? the_ratings($start_tag = 'span', $custom_id = 0, $display = FALSE) : "";
        $postinfo = str_replace("%wp-postratings%", $wp_postratings, $postinfo);
    }
    // For the "Sociable" plugin
    if (strpos($postinfo_string, '%sociable%') !== FALSE) {
        $sociable = (function_exists('sociable_html2') and function_exists('sociable_html')) ? $sociable = sociable_html2() : "";
        $postinfo = str_replace("%sociable%", $sociable, $postinfo);
    }
    // For the "Share This" plugin
    if (strpos($postinfo_string, '%share-this%') !== FALSE) {
        ob_start();
        if (function_exists('sharethis_button')) {
            sharethis_button();
            $share_this = ob_get_contents();
        } else {
            $share_this = "";
        }
        ob_end_clean();
        $postinfo = str_replace("%share-this%", $share_this, $postinfo);
    }
    // Images
    if (strpos($postinfo_string, '<image(') !== FALSE) {
        $postinfo = preg_replace_callback("|<image\\((.*?)\\)>|", "bfa_image_files", $postinfo);
    }
    /* The meta = ALL custom fields:values, formatted by Wordpress as
    	unordered list <ul><li>..</li><li>..</li></ul> */
    if (strpos($postinfo_string, '%meta%') !== FALSE) {
        ob_start();
        the_meta();
        $the_meta = ob_get_contents();
        ob_end_clean();
        // 3.4.3.: remove bfa_ata metas */
        $the_meta = preg_replace("/<li>(.*)bfa_ata(.*)<\\/li>/i", "", $the_meta);
        $postinfo = str_replace("%meta%", $the_meta, $postinfo);
    }
    // Single post meta values, not formatted
    if (strpos($postinfo_string, '%meta(') !== FALSE) {
        $postinfo = preg_replace_callback("|%meta\\('(.*?)'\\)%|", "bfa_meta_value", $postinfo);
    }
    /* PHP code in Post Info Items.
    	But not for WPMU */
    /*removed in 3.4.3. - PHP code works in WPMU too */
    if (strpos($postinfo_string, '<?php ') !== FALSE) {
        ob_start();
        eval('?>' . $postinfo);
        $postinfo = ob_get_contents();
        ob_end_clean();
    }
    return $postinfo;
}
<div class="posts<?php if(is_single()) echo ' post'; if(current_user_can( 'edit_page', $post->ID )) echo ' editable';?>">

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>


<div class="hentry selfclear" id="post-<?php the_ID(); ?>">

				<div class="head selfclear">
					<?php if (!is_page()): ?>
					<?php echo get_avatar(get_the_author_id(), 40); ?>
					<?php endif; ?>
					<h4><a class="entry-title" href="<?php the_permalink() ?>"><?php the_title() ?></a></h4>
					<?php if(!is_page()): ?>
					<div class="source">
						by  
						<a class="author" href="<?php the_author_url(); ?>"><?php the_author() ?></a>
					</div>								
					<?php endif; ?>
				</div><!-- end .head -->

			
				<div class="entry-summary">
					<?php the_content(); ?>
				</div><!-- end .entry-summary -->
				
				<?php if (!is_page()) { ?>
				<div class="entry-footer">
					<div class="comment-count">			
						<?php if(comments_open() || pings_open()) { 
								comments_number('','1','%'); ?> <a href="#"><?php comments_popup_link('Leave a Comment &#187;', 'Comment &#187;', 'Comments &#187;'); ?></a>
						<?php } ?>