diff --git src/bp-activity/bp-activity-functions.php src/bp-activity/bp-activity-functions.php
index 507387e..507c433 100644
--- src/bp-activity/bp-activity-functions.php
+++ src/bp-activity/bp-activity-functions.php
@@ -567,6 +567,26 @@ function bp_activity_total_favorites_for_user( $user_id = 0 ) {
 	return BP_Activity_Activity::total_favorite_count( $user_id );
 }
 
+/**
+ * Retrieve the favorite count for an activity
+ *
+ * @since BuddyPress (?)
+ *
+ * @uses bp_activity_get_meta()
+ *
+ * @param int $activity_id activity id.
+ * @return int Total favorite count for the activity.
+ */
+function bp_activity_get_favorites_count( $activity_id = 0 ) {
+	$retval = 0;
+
+	if ( empty( $activity_id ) ){
+		return $retval;
+	}
+
+	return (int) bp_activity_get_meta( $activity_id, 'favorite_count' );
+}
+
 /** Meta *********************************************************************/
 
 /**
diff --git src/bp-activity/bp-activity-template.php src/bp-activity/bp-activity-template.php
index 0a7ceeb..17fbc4d 100644
--- src/bp-activity/bp-activity-template.php
+++ src/bp-activity/bp-activity-template.php
@@ -2339,8 +2339,8 @@ function bp_activity_comment_permalink() {
  *
  * @uses bp_get_activity_favorite_link()
  */
-function bp_activity_favorite_link() {
-	echo bp_get_activity_favorite_link();
+function bp_activity_favorite_link( $activity_id = 0 ) {
+	echo bp_get_activity_favorite_link( $activity_id );
 }
 
 	/**
@@ -2356,9 +2356,16 @@ function bp_activity_favorite_link() {
 	 *
 	 * @return string The activity favorite link.
 	 */
-	function bp_get_activity_favorite_link() {
+	function bp_get_activity_favorite_link( $activity_id = 0 ) {
 		global $activities_template;
-		return apply_filters( 'bp_get_activity_favorite_link', wp_nonce_url( home_url( bp_get_activity_root_slug() . '/favorite/' . $activities_template->activity->id . '/' ), 'mark_favorite' ) );
+
+		if ( empty( $activity_id ) ) {
+			$activity_id = $activities_template->activity->id;
+		}
+
+		$root_url = trailingslashit( bp_get_root_domain() );
+
+		return apply_filters( 'bp_get_activity_favorite_link', wp_nonce_url( $root_url . bp_get_activity_root_slug() . '/favorite/' . $activity_id . '/', 'mark_favorite' ) );
 	}
 
 /**
diff --git src/bp-blogs/bp-blogs-favorites.php src/bp-blogs/bp-blogs-favorites.php
index e69de29..b51507b 100644
--- src/bp-blogs/bp-blogs-favorites.php
+++ src/bp-blogs/bp-blogs-favorites.php
@@ -0,0 +1,227 @@
+<?php
+// Exit if accessed directly
+if ( ! defined( 'ABSPATH' ) ) exit;
+
+if ( ! class_exists( 'BP_Blogs_Favorites' ) ) :
+/**
+ * Load Favorites in blog posts.
+ *
+ * @package BuddyPress
+ * @subpackage blogsFavorites
+ *
+ * @since BuddyPress (?)
+ */
+class BP_Blogs_Favorites {
+
+	/**
+	 * Setup Blog favorites.
+	 *
+	 * @access public
+	 * @since BuddyPress (?)
+	 *
+	 * @uses buddypress() to get BuddyPress main instance.
+	 */
+	public static function register_favorites() {
+		// Bail if setting is not enabled
+		if ( ! bp_is_activity_favorite_post_active() ) {
+			return;
+		}
+
+		// Bail if blog is not trackable, meaning they won't be any activity about posts
+		if( ! bp_blogs_is_blog_trackable( get_current_blog_id(), bp_loggedin_user_id() ) ) {
+			return;
+		}
+
+		// Bail if favorite is disable
+		if ( ! bp_activity_can_favorite() ) {
+			return;
+		}
+
+		$bp = buddypress();
+
+		if( empty( $bp->blogs->favorites ) ) {
+			$bp->blogs->favorites = new self;
+		}
+
+		return $bp->blogs->favorites;
+	}
+
+	/**
+	 * Constructor method.
+	 *
+	 * @access public
+	 * @since BuddyPress (?)
+	 */
+	public function __construct() {
+		$this->setup_globals();
+		$this->setup_actions();
+	}
+
+	/**
+	 * Set preferences.
+	 *
+	 * @access public
+	 * @since BuddyPress (?)
+	 */
+	public function setup_globals() {
+		$this->css_url = trailingslashit( buddypress()->plugin_url  . 'bp-blogs/css' );
+		$this->preferences = apply_filters( 'bp_blogs_favorites_preferences', array(
+			'use_dashicons' => true,
+			'filter_content' => true,
+		) );
+	}
+
+	/**
+	 * Set actions and filters.
+	 *
+	 * @access private
+	 * @since BuddyPress (?)
+	 */
+	private function setup_actions() {
+		
+		add_action( 'bp_enqueue_scripts', array( $this, 'enqueue_styles' ) );
+		
+		if ( ! empty( $this->preferences['filter_content'] ) ) {
+			add_action( 'wp_head', array( $this, 'add_content_filter'), 1000 );
+			add_action( 'wp_footer', array( $this, 'remove_content_filter'), 0 );
+		}
+		
+	}
+
+	/**
+	 * Add some specific styling for favorites.
+	 *
+	 * @access public
+	 * @since BuddyPress (?)
+	 */
+	public function enqueue_styles() {
+		$deps = array();
+		
+		if ( ! empty( $this->preferences['use_dashicons'] ) ) {
+			$deps = array( 'dashicons' );
+		}
+
+		$min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
+
+		$css = $this->css_url . "favorite{$min}.css";
+		$css = apply_filters( 'bp_blogs_favorite_css', $css );
+		wp_enqueue_style( 'bp-blogs-css', $css, $deps, bp_get_version() );
+	}
+
+	/**
+	 * Add Filter to content.
+	 *
+	 * @access public
+	 * @since BuddyPress (?)
+	 */
+	public function add_content_filter() {
+		add_filter( 'the_content', array( $this, 'append_favorites' ), 10, 1 );
+	}
+
+	/**
+	 * Remove Filter to content.
+	 *
+	 * @access public
+	 * @since BuddyPress (?)
+	 */
+	public function remove_content_filter() {
+		remove_filter( 'the_content', array( $this, 'append_favorites' ), 10, 1 );
+	}
+
+	/**
+	 * Append favorites to post content.
+	 *
+	 * @access public
+	 * @since BuddyPress (?)
+	 */
+	public function append_favorites( $content = '' ) {
+		$post_id = get_the_ID();
+
+		if ( empty( $post_id ) ){
+			return $content;
+		}
+
+		if ( 'post' != get_post_type( $post_id ) ) {
+			return $content;
+		}
+
+		$append = self::get_favorites( $post_id );
+
+		if ( empty( $append ) ) {
+			return $content;
+		}
+
+		return $content . $append; 
+	}
+
+	/**
+	 * Return favorite output
+	 *
+	 * @access public
+	 * @static
+	 * @since BuddyPress (?)
+	 */
+	public static function get_favorites( $post_id = 0, $user_id = 0 ) {
+		$bp = buddypress();
+
+		// Fetch the activity id for this post
+		$activity_id = bp_activity_get_activity_id( array( 
+			'component'         => buddypress()->blogs->id,
+			'type'              => 'new_blog_post',
+			'item_id'           => get_current_blog_id(),
+			'secondary_item_id' => $post_id,
+		) );
+
+		if ( empty( $activity_id ) ) {
+			return false;
+		}
+
+		if ( empty( $user_id ) ) {
+			$user_id = bp_loggedin_user_id();
+		}
+
+		$fav_count = bp_activity_get_favorites_count( $activity_id );
+		$wrapper_class = array( 'bp-favorite-post' );
+		$link_href = '#';
+		$link_title = '';
+		
+		if ( ! empty( $user_id ) ) {
+			$user_favorites = (array) bp_activity_get_user_favorites( $user_id );
+			
+			if( in_array( $activity_id, $user_favorites ) ) {
+				$wrapper_class[] = 'favorited';
+				$link_href = trailingslashit( bp_core_get_user_domain( $user_id ) . $bp->activity->slug . '/favorites' );
+				$link_title = __( 'View Favorites', 'buddypress' );
+			} else {
+				$link_href = bp_get_activity_favorite_link( $activity_id );
+				$link_title = __( 'Add Favorite', 'buddypress' );
+				
+			}
+		}
+
+		$link_text = sprintf( __( 'Favorite <span class="count">%s</span>', 'buddypress' ), $fav_count );
+		if ( ! empty( $bp->blogs->favorites->preferences['use_dashicons'] ) ) {
+			$link_text = sprintf( _x( '<span class="count">%s</span>', 'blogs post favorite', 'buddypress' ), $fav_count );
+			$wrapper_class[] = 'use-dashicons';
+		}
+
+		return bp_get_button(
+			array(
+				'id'                => 'favorite_post',
+				'component'         => $bp->blogs->id,
+				'must_be_logged_in' => true,
+				'link_href'         => $link_href,
+				'link_title'        => $link_title,
+				'link_text'         => $link_text,
+				'wrapper_id'        => 'favorite-' . $activity_id,
+				'wrapper_class'     => join( ' ', $wrapper_class ),
+			)
+		);
+		
+	}
+
+}
+endif; // class_exists check
+
+// Load the BP Members admin
+add_action( 'bp_init', array( 'BP_Blogs_Favorites', 'register_favorites' ) );
diff --git src/bp-blogs/bp-blogs-loader.php src/bp-blogs/bp-blogs-loader.php
index 89cf2a1..ba6ad4c 100644
--- src/bp-blogs/bp-blogs-loader.php
+++ src/bp-blogs/bp-blogs-loader.php
@@ -96,6 +96,9 @@ class BP_Blogs_Component extends BP_Component {
 			'buddybar'
 		);
 
+		if ( bp_is_active( 'activity' ) )
+			$includes[] = 'favorites';
+
 		if ( is_multisite() )
 			$includes[] = 'widgets';
 
diff --git src/bp-blogs/bp-blogs-template.php src/bp-blogs/bp-blogs-template.php
index 7115bcf..1fc0fd3 100644
--- src/bp-blogs/bp-blogs-template.php
+++ src/bp-blogs/bp-blogs-template.php
@@ -1330,3 +1330,44 @@ function bp_blogs_get_profile_stats( $args = '' ) {
 	// Filter and return
 	return apply_filters( 'bp_blogs_get_profile_stats', $r['output'], $r );
 }
+
+/**
+ * Display Favorite button if blog post is defined.
+ * 
+ * Use do_action( 'bp_blogs_favorite_post' ) in your template
+ * to control where the button will be displayed. You'll also
+ * need to filter 'bp_blogs_favorites_preferences' to deactivate
+ * the filter applied to content by default.
+ * 	
+ * @uses  bp_blogs_get_favorite_button()
+ * @param int $post_id See
+ */
+function bp_blogs_favorite_button( $post_id = 0 ) {
+	echo bp_blogs_get_favorite_button( $post_id );
+}
+add_action( 'bp_blogs_favorite_post', 'bp_blogs_favorite_button', 10, 1 );
+	
+	/**
+	 * Return Favorite button if blog post is defined.
+	 * 	
+	 * @uses  bp_blogs_favorite_button [description]
+	 * @param int $post_id
+	 * @return string html output
+	 */
+	function bp_blogs_get_favorite_button( $post_id = 0 ) {
+		$bp = buddypress();
+
+		if ( empty( $post_id ) ) {
+			$post_id = get_the_ID();
+		}
+			
+		if ( empty( $bp->blogs->favorites ) ) {
+			return;
+		}
+
+		if ( ! empty( $bp->blogs->favorites->preferences['filter_content'] ) ) {
+			return;
+		}
+		
+		return apply_filters( 'bp_blogs_get_favorite_button', BP_Blogs_Favorites::get_favorites( $post_id ) , $post_id );
+	}
diff --git src/bp-blogs/css/favorite.css src/bp-blogs/css/favorite.css
index e69de29..c770e81 100644
--- src/bp-blogs/css/favorite.css
+++ src/bp-blogs/css/favorite.css
@@ -0,0 +1,49 @@
+div.bp-favorite-post a {
+	background: #fff; /* Old browsers */
+	border: 1px solid #ccc;
+	color: #777;
+	font-size: .8rem;
+	cursor: pointer;
+	outline: none;
+	padding: 4px 10px;
+	text-align: center;
+	text-decoration: none;
+}
+div.bp-favorite-post a:hover {
+	background: #ededed;
+	border: 1px solid #bbb;
+	color: #555;
+	outline: none;
+	text-decoration: none;
+}
+
+div.bp-favorite-post a span {
+	background: #999;
+	color: #fff;
+	font-size: 90%;
+	margin-left: 2px;
+	padding: 0 5px;
+}
+div.bp-favorite-post a:hover span {
+	background: #555;
+	color: #fff;
+}
+
+.bp-favorite-post.use-dashicons a::before{
+	font-family: 'dashicons';
+	speak: none;
+	font-style: normal;
+	font-weight: normal;
+	font-variant: normal;
+	text-transform: none;
+	line-height: 1;
+	/* Better Font Rendering =========== */
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+	content:"\f154";
+	margin-right:5px;
+}
+
+.bp-favorite-post.use-dashicons.favorited a::before {
+	content:"\f155";
+}
diff --git src/bp-core/admin/bp-core-settings.php src/bp-core/admin/bp-core-settings.php
index e112df7..57bc387 100644
--- src/bp-core/admin/bp-core-settings.php
+++ src/bp-core/admin/bp-core-settings.php
@@ -118,6 +118,20 @@ function bp_admin_setting_callback_heartbeat() {
 }
 
 /**
+ * Allow new_blog_post activity to be favorited directly from post.
+ *
+ * @since BuddyPress (?)
+ */
+function bp_admin_setting_callback_favorite_blogpost() {
+?>
+
+	<input id="_bp_enable_blogpost_favorite" name="_bp_enable_blogpost_favorite" type="checkbox" value="1" <?php checked( bp_is_activity_favorite_post_active( true ) ); ?> />
+	<label for="_bp_enable_blogpost_favorite"><?php _e( 'Allow posts activities to be directly favorited from the post itself', 'buddypress' ); ?></label>
+
+<?php
+}
+
+/**
  * Sanitization for _bp_force_buddyvar
  *
  * If upgraded to 1.6 and you chose to keep the BuddyBar, a checkbox asks if you want to switch to
diff --git src/bp-core/bp-core-admin.php src/bp-core/bp-core-admin.php
index 8942a82..624bd73 100644
--- src/bp-core/bp-core-admin.php
+++ src/bp-core/bp-core-admin.php
@@ -390,6 +390,12 @@ class BP_Admin {
 				add_settings_field( '_bp_enable_akismet', __( 'Akismet',          'buddypress' ), 'bp_admin_setting_callback_activity_akismet', 'buddypress', 'bp_activity' );
 				register_setting  ( 'buddypress',         '_bp_enable_akismet',   'intval'                                                                                  );
 			}
+
+			// Favoriting an new_blog_post activity direclty from post
+			if ( bp_is_active( 'blogs' ) ) {
+				add_settings_field( '_bp_enable_blogpost_favorite', __( 'Posts favoriting', 'buddypress' ), 'bp_admin_setting_callback_favorite_blogpost', 'buddypress', 'bp_activity' );
+				register_setting( 'buddypress', '_bp_enable_blogpost_favorite', 'intval' );
+			}
 		}
 
 		/** Avatar upload for users or groups ************************************/
diff --git src/bp-core/bp-core-options.php src/bp-core/bp-core-options.php
index 580ceb1..6307391 100644
--- src/bp-core/bp-core-options.php
+++ src/bp-core/bp-core-options.php
@@ -81,6 +81,11 @@ function bp_get_default_options() {
 		// HeartBeat is on to refresh activities
 		'_bp_enable_heartbeat_refresh'    => true,
 
+		/** Activity Post type favoriting  ************************************/
+
+		// Allow favoriting activity directly from post
+		'_bp_enable_blogpost_favorite'    => true,
+
 		/** BuddyBar **********************************************************/
 
 		// Force the BuddyBar
@@ -605,6 +610,21 @@ function bp_is_activity_heartbeat_active( $default = true ) {
 }
 
 /**
+ * Check whether Favoriting a post activity direclty from the post itself is enabled.
+ *
+ * @since BuddyPress (?)
+ *
+ * @uses bp_get_option() To get the Heartbeat option.
+ *
+ * @param bool $default Optional. Fallback value if not found in the database.
+ *        Default: true.
+ * @return bool True if option is enabled, otherwise false.
+ */
+function bp_is_activity_favorite_post_active( $default = true ) {
+	return (bool) apply_filters( 'bp_is_activity_favorite_post_active', (bool) bp_get_option( '_bp_enable_blogpost_favorite', $default ) );
+}
+
+/**
  * Get the current theme package ID.
  *
  * @since BuddyPress (1.7.0)
