Try replacing all the single quotes.
For example ‘videos’ should ‘videos’.
If you copy and paste, make sure the single quotes are converted to ‘ or ’
Hi @shanebp,
I am sorry I don’t quite understand..
My exact code looks like this:
add_filter( 'bp_blogs_record_post_post_types', 'inspired_record_more_types' );
function inspired_record_more_types( $types ) {
$types[] = 'projects';
return $types;
}
add_filter('bp_blogs_activity_new_post_action', 'record_cpt_activity_action', 1, 3);
function record_cpt_activity_action( $activity_action, $post, $post_permalink ) {
global $bp;
if( $post->post_type == 'projects' ) {
if ( is_multisite() )
$activity_action = sprintf( __( '%1$s created a new project, %2$s, on the site %3$s', 'buddypress' ), bp_core_get_userlink( (int) $post->post_author ), '' . $post->post_title . '', '' . get_blog_option( $blog_id, 'blogname' ) . '' );
else
$activity_action = sprintf( __( '%1$s created a new project, %2$s', 'buddypress' ), bp_core_get_userlink( (int) $post->post_author ), '' . $post->post_title . '' );
}
return $activity_action;
}
and the link to the project custom post is not showing. It does show with only the first part of the code- but the slug is generic – .. “wrote a new post”
p.s. it’s a singe blog installation (not a multisite)
Your code is garbled and missing the href. Try this:
add_filter('bp_blogs_activity_new_post_action', 'record_cpt_activity_action', 1, 3);
function record_cpt_activity_action( $activity_action, $post, $post_permalink ) {
if( $post->post_type == 'projects' ) {
$activity_action = sprintf( __( '%1$s created a new Project, %2$s', 'buddypress' ), bp_core_get_userlink( (int) $post->post_author ), '<a href="' . $post_permalink . '">' . $post->post_title . '</a>' );
}
return $activity_action;
}
Wow, @shanebp, thank you so much! That worked perfectly!
Perhaps you can help me with something else, i’ve been struggling for some time?
I would like to add the featured image to these activity updates (whether it’s a regular blog post or the custom post – such as projects).
I found this code before- this one is for posts. It works, but there is something in it that makes all the excerpts in the activity – short and unclickable.
Also some custom post types do not show the attached image.
function icondeposit_bp_activity_entry_meta() {
if ( bp_get_activity_object_name() == 'blogs' && bp_get_activity_type() == 'new_blog_post' ) {?>
<?php
global $wpdb, $post, $bp;
$theimg = wp_get_attachment_image_src( get_post_thumbnail_id( bp_get_activity_secondary_item_id() ) );
?>
<img src="<?php echo $theimg[0]; ?>" >
<?php }
}
add_action('bp_activity_excerpt_append_text', 'icondeposit_bp_activity_entry_meta');
And another thing I was researching and could find any reference to :
How can I add the group description to the activity update?
I think if it shows up in the activity- it should at least carry some information that will make members want to click and join the group.
Thank you for your help!
Hi @shanebp,
Thank you for your help. I found this article by @boonebgorges about adding the comments to custom posts to the activity feed. I actually have that working already, but the text is generic- “user commented on a post”. Is there a way to add a specific slug here too?
function bbg_record_my_custom_post_type_comments( $post_types ) {
$post_types[] = 'dolphin'; // Add your custom post type name to the array. If you have a post type called 'dolphin' then you have a weird plugin
return $post_types;
}
add_filter( 'bp_blogs_record_comment_post_types', 'bbg_record_my_custom_post_type_comments' );
With kind regards,
M