Search Results for 'custom activity page'
-
Search Results
-
Special thanks to @valuser and @shanebp for helping create a custom member directory by adding the Buddypress members-loop.php to my themes page.php, and renaming it page-local-members-php.
*For the step by step, here is the link to the discussion – https://buddypress.org/support/topic/how-to-display-additional-member-directory/#post-251127
There are now two Directories listed on the website. The current issue resides with the styling. The original member directory appears to obtain its structure from the Buddypress index.php file located in the wp-content/plugins/buddypress/bp-themes/bp-default/members-folder, while the Secondary ‘Custom’ member directory is missing the original functions like the search, role search, order by, and some basic css such as removing the bulletins on the member list.
What would be the best solution to fix this.
Would adding the code from index.php file from the wp-content/plugins/buddypress/bp-themes/bp-default/members-folder solve it?
*I wonder, would it be possible to make an additional page template that would shows on the wordpress frontend part of the plugin on the Dashboard/settins/buddypress/pages section as an additional directory.
That way you could route it from to a page from the front end the same way you route member, activity stream, register, and activate page keeping all files it in the buddypress folder.Update:
I’ve tried adding the code from the index.php file located in the wp-content/plugins/buddypress/bp-themes/bp-default/members-folder to the index.php file located in the wp-content/themes/my-theme/-folder however the default styling and functions are still missing.
Any help on this will be greatly appreciated.
Topic: Custom Tabs
What’s the best way to make a full width BP page and add custom tabs to either the Activity Stream or Profile page?
Thanks,
Justin
Special thanks to @valuser and @shanebp for helping create a custom member directory by adding the Buddypress members-loop.php to my themes page.php, and renaming it page-local-members-php.
*For the step by step, here is the link to the discussion – https://buddypress.org/support/topic/how-to-display-additional-member-directory/#post-251127
There are now two Directories listed on the website. The current issue resides with the styling. The original member directory appears to obtain its structure from the Buddypress index.php file located in the public_html/cosnetwork.us/wp-content/plugins/buddypress/bp-themes/bp-default/members-folder, while the Secondary ‘Custom’ member directory is missing the original functions like the search, role search, order by, and some basic css such as removing the bulletins on the member list.
What would be the best solution to fix this.
Would adding the code from index.php file from the public_html/cosnetwork.us/wp-content/plugins/buddypress/bp-themes/bp-default/members-folder solve it?
*I wonder, would it be possible to make an additional page template that would shows on the wordpress frontend part of the plugin on the Dashboard/settins/buddypress/pages section as an additional directory.
That way you could route it from to a page from the front end the same way you route member, activity stream, register, and activate page keeping all files it in the buddypress folder.Topic: PMPRO and Buddypress
Has anyone been successful at blocking buddypress pages until PMPRO email confirmation is complete? I seem to be getting nowhere with PMPRO folks.
I am able to block /groups/, /members/, etc., but I cannot seem to block the sub-pages (e.g. /groups/group-name/). I took the PMPRO email confirmation code and modified it as follows. Any help is greatly appreciated!
<?php
/*
Plugin Name: Paid Memberships Pro – Email Confirmation Add On
Plugin URI: http://www.paidmembershipspro.com/addons/pmpro-email-confirmation/
Description: Require email confirmation before certain levels are enabled for members.
Version: .3
Author: Stranger Studios
Author URI: http://www.strangerstudios.com
*/
/*
Sample use case: You have a free level but want people to use a real email address when signing up.
*//*
[Deprecated] Set this array to the include the levels which should require email confirmation.global $pmpro_email_confirmation_levels;
$pmpro_email_confirmation_levels = array(6);Use the checkbox on the edit levels page instead.
*//*
Add checkbox to edit level page to set if level requires email confirmation.
*/
//show the checkbox on the edit level page
function pmproec_pmpro_membership_level_after_other_settings()
{
$level_id = intval($_REQUEST[‘edit’]);
if($level_id > 0)
$email_confirmation = get_option(‘pmproec_email_confirmation_’ . $level_id);
else
$email_confirmation = false;
?>
<h3 class=”topborder”>Email Confirmation</h3>
<table>
<tbody class=”form-table”>
<tr>
<th scope=”row” valign=”top”><label for=”email_confirmation”><?php _e(‘Email Confirmation:’, ‘pmpro’);?></label></th>
<td>
<input type=”checkbox” id=”email_confirmation” name=”email_confirmation” value=”1″ <?php checked($email_confirmation, 1);?> />
<label for=”email_confirmation”><?php _e(‘Check this to require email validation for this level.’, ‘pmpro’);?></label>
</td>
</tr>
</tbody>
</table>
<?php
}
add_action(‘pmpro_membership_level_after_other_settings’, ‘pmproec_pmpro_membership_level_after_other_settings’);//save email_confirmation setting when the level is saved/added
function pmproec_pmpro_save_membership_level($level_id)
{
if(isset($_REQUEST[’email_confirmation’]))
$email_confirmation = intval($_REQUEST[’email_confirmation’]);
else
$email_confirmation = 0;
delete_option(‘pmproec_email_confirmation_’ . $level_id);
add_option(‘pmproec_email_confirmation_’ . $level_id, $email_confirmation, ”, ‘no’);
}
add_action(“pmpro_save_membership_level”, “pmproec_pmpro_save_membership_level”);/*
Functions
*/
//Check if a level id requires an invite code or should generate one
function pmproec_isEmailConfirmationLevel($level_id)
{
global $pmpro_email_confirmation_levels;//get value from options
$email_confirmation = get_option(‘pmproec_email_confirmation_’ . $level_id, false);//check option and global var
return (!empty($email_confirmation) || !empty($pmpro_email_confirmation_levels) && in_array($level_id, $pmpro_email_confirmation_levels));
}//generate a key from a user id
function pmproec_getValidationKey($user_id)
{
$key = md5($user_id . AUTH_KEY . $user_id);
if(strlen($key) > 16)
$key = substr($key, 0, 16);return $key;
}/*
Save validation key in user meta after checkout.
*/
function pmproec_pmpro_after_checkout($user_id)
{
global $pmpro_level;if(pmproec_isEmailConfirmationLevel($pmpro_level->id))
{
//already validated?
$oldkey = get_user_meta($user_id, “pmpro_email_confirmation_key”, true);
if($oldkey != “validated”)
{
//nope? give them a key
$key = pmproec_getValidationKey($user_id);
update_user_meta($user_id, “pmpro_email_confirmation_key”, $key);
}
}
}
add_action(“pmpro_after_checkout”, “pmproec_pmpro_after_checkout”);/*
If a user hasn’t validated yet and needs it, don’t give them access.
*/
function pmproec_pmpro_has_membership_access_filter($hasaccess, $mypost, $myuser, $post_membership_levels)
{
//hide_buddy_press_pages()
$uri = $_SERVER[‘REQUEST_URI’];//lock some things for members only
$members_only = array(
“/members-2/”, “/activity/”, “/groups-2/”, “/forums/”, “/welcome-back/”
);
//if they don’t have access, ignore this
if(!$hasaccess)
return $hasaccess;//if this isn’t locked by level, ignore this
if(empty($post_membership_levels))
return $hasaccess;//does this user have a level that requires confirmation?
$user_membership_level = pmpro_getMembershipLevelForUser($myuser->ID);
if(pmproec_isEmailConfirmationLevel($user_membership_level->id))
{
//if they still have a validation key, they haven’t clicked on the validation link yet
$validation_key = get_user_meta($myuser->ID, “pmpro_email_confirmation_key”, true);if(!empty($validation_key) && $validation_key != “validated”)
{
$hasaccess = false;
foreach($members_only as $check)
{
//make sure they are a memberif(preg_match($check, $uri))
{
wp_redirect(“http://www.google.com”);
exit;
}
}
}
}
return $hasaccess;
}
add_filter(“pmpro_has_membership_access_filter”, “pmproec_pmpro_has_membership_access_filter”, 10, 4);/*
Add validation lik to confirmation email.
*/
function pmproec_pmpro_email_body($body, $email)
{
//must be a confirmation email and checkout template
if(!empty($email->data[‘membership_id’]) && pmproec_isEmailConfirmationLevel($email->data[‘membership_id’]) && strpos($email->template, “checkout”) !== false)
{
//get user
$user = get_user_by(“login”, $email->data[‘user_login’]);$validated = $user->pmpro_email_confirmation_key;
$url = home_url(“?ui=” . $user->ID . “&validate=” . $validated);//need validation?
if(empty($validated) || $validated != “validated”)
{
//use validation_link substitute?
if(false === stripos($body, “!!validation_link!!”))
{
$body = “<p>IMPORTANT! You must follow this link to confirm your email address before your membership is fully activated:<br />” . $url . “</p><hr />” . $body;
$body = str_replace(“Your membership account is now active.”, “”, $body);
} else
$body = str_ireplace(“!!validation_link!!”, $url, $body);
}
}return $body;
}
add_filter(“pmpro_email_body”, “pmproec_pmpro_email_body”, 10, 2);/*
Process validation links.
*/
function pmproec_init_validate()
{
if(!empty($_REQUEST[‘validate’]) && !empty($_REQUEST[‘ui’]))
{
$validate = $_REQUEST[‘validate’];
$ui = $_REQUEST[‘ui’];
$user = get_userdata($ui);
if($validate == $user->pmpro_email_confirmation_key)
{
//validate!
update_user_meta($user->ID, “pmpro_email_confirmation_key”, “validated”);do_action(‘pmproec_after_validate_user’, $user->ID, $validate);
if(is_user_logged_in())
wp_redirect(home_url());
else
wp_redirect(wp_login_url());exit;
}
}
}
add_action(“init”, “pmproec_init_validate”);/*
Update confirmation page to mention validation email if needed.
*/
function pmproec_pmpro_confirmation_message($message)
{
//must be an email confirmation level
if(!empty($_REQUEST[‘level’]) && pmproec_isEmailConfirmationLevel(intval($_REQUEST[‘level’])))
{
global $current_user;
if($current_user->pmpro_email_confirmation_key != “validated”)
{
$message = str_replace(“is now active”, “will be activated as soon as you confirm your email address. Important! You must click on the confirmation URL sent to ” . $current_user->user_email . ” before you gain full access to your membership“, $message);
}
}return $message;
}
add_filter(“pmpro_confirmation_message”, “pmproec_pmpro_confirmation_message”);/*
Function to add links to the plugin row meta
*/
function pmproec_plugin_row_meta($links, $file) {
if(strpos($file, ‘pmpro-email-confirmation.php’) !== false)
{
$new_links = array(
‘‘ . __( ‘Support’, ‘pmpro’ ) . ‘‘,
);
$links = array_merge($links, $new_links);
}
return $links;
}
add_filter(‘plugin_row_meta’, ‘pmproec_plugin_row_meta’, 10, 2);/**
* Add link to the user action links to validate a user
*
* Use the pmproec_validate_user_cap filter to change the capability required to see this.
*/
function pmproec_user_row_actions($actions, $user) {
$cap = apply_filters(‘pmproec_validate_user_cap’, ‘edit_users’);
if(current_user_can($cap))
{
//check if they still have a validation key
$validation_key = get_user_meta($user->ID, “pmpro_email_confirmation_key”, true);
if(!empty($validation_key) && $validation_key != “validated”)
{
$url = admin_url(“users.php?pmproecvalidate=” . $user->ID);
if(!empty($_REQUEST[‘s’]))
$url .= “&s=” . esc_attr($_REQUEST[‘s’]);
if(!empty($_REQUEST[‘paged’]))
$url .= “&paged=” . intval($_REQUEST[‘paged’]);
$url = wp_nonce_url($url, ‘pmproecvalidate_’ . $user->ID);
$actions[] = ‘Validate User‘;
}
else
$actions[] = ‘Validated’;
}return $actions;
}
add_filter(‘user_row_actions’, ‘pmproec_user_row_actions’, 10, 2);
add_filter(‘pmpro_memberslist_user_row_actions’, ‘pmproec_user_row_actions’, 10, 2);/**
* Manually validate a user. Runs on admin init. Checks for pmproecvalidate and nonce and validates that user.
*
*/
function pmproec_validate_user()
{
if(!empty($_REQUEST[‘pmproecvalidate’]))
{
global $pmproec_msg, $pmproec_msgt;//get user id
$user_id = intval($_REQUEST[‘pmproecvalidate’]);
$user = get_userdata($user_id);//no user?
if(empty($user))
{
//user not found error
$pmproec_msg = ‘Could not reset sessions. User not found.’;
$pmproec_msgt = ‘error’;
}
else
{
//check nonce
check_admin_referer( ‘pmproecvalidate_’.$user_id);//check caps
$cap = apply_filters(‘pmproec_validate_user_cap’, ‘edit_users’);
if(!current_user_can($cap))
{
//show error message
$pmproec_msg = ‘You do not have permission to validate users.’;
$pmproec_msgt = ‘error’;
}
else
{
//validate!
update_user_meta($user_id, “pmpro_email_confirmation_key”, “validated”);//show success message
$pmproec_msg = $user->user_email . ‘ has been validated.’;
$pmproec_msgt = ‘updated’;
}
}
}
}
add_action(‘admin_init’, ‘pmproec_validate_user’);/**
* Show any messages generated by PMPro Email Confirmations
*/
function pmproec_admin_notices()
{
global $pmproec_msg, $pmproec_msgt;
if(!empty($pmproec_msg))
echo “<div class=\”$pmproec_msgt\”><p>$pmproec_msg</p></div>”;
}
add_action(‘admin_notices’, ‘pmproec_admin_notices’);Googled around, an older examples won’t work with the current version of BuddyPress 2.4.3. How to make sure that the activities of the Administrator isn’t recorded or not shown, sitewide / plugins / etc….
Prefer to add this in: bp-custom.php
Thank yo in advance.
Code what i had found:
<?php // Don’t record activity by the site admins or show them as recently active function my_admin_stealth_mode(){ if ( is_site_admin() ) { global $bp; remove_action(‘wp_head’,’bp_core_record_activity’); delete_user_meta($bp->loggedin_user->id, ‘last_activity’); } ?>Here’s another code, this removes the activity of the currently logged in user itself from the page, this still works:
But obviously it wont hide the administrator’s activity in the users perspective!<?php //filter on pre_user_query add_action( 'pre_user_query', 'devb_exclude_loggedin_user', 201 ); function devb_exclude_loggedin_user( $query ) { //don't modify the query if the user is not logged in if ( !is_user_logged_in() ) return; //do not hide users inside the admin if ( is_admin() && !defined('DOING_AJAX') ) return; $qv = $query->query_vars; global $wpdb; //hide $query->query_where .= $wpdb->prepare(" AND {$wpdb->users}.ID !=%d ", get_current_user_id()); } ?>I am working on a datingsite. I want to start using the activity stream as a speeddate function. Users can fill in a certain text field (hi, I am going to the movies, who will join me!). On the frontpage I would like to have some kind of widget that displays, solo that stream. Or, if that is not possible that the other users can filter these “shouts” in activity stream.
It seems simple? For instance: people can fill in “howdy, whats new jack?) so it must be possible?
I have been fooling around in bp-custom to just add a new post type but I failed.Am I thinking the wrong directions?
For privacy reasons I will not distribute the url.
hi there,
I’m working on my site’s forums, powered by bbpress and buddypress.One thing I dislike is the existance of both Favorites and Subscriptions. perhaps there’s something I don’t understand but it seems reduntant. I can’t even get anything to show up under the Favorites tab of the Activity (tried to favorite a forum topic and then posting as another user, but nothing).
to the point: I want to get rid of Favorites (already did) and only have Subscriptions.
but I’d like the subscriptions’ activity to show up under the user Activity, in a new tab. Yes I know the user can see the subscribed forums in the members page -> Forums -> Subscriptions, but this is just the list and not a waterfall of the posts inside those threads.I’ve seen some posts where people try to add a new activity tab. this one was the clearest one, and I’ve tried following it to no avail. is the information completely outdated now?
the problem is I cannot even get the hook ‘bp_activity_type_tabs’ to do anything. something as basic as this fails to produce anything:
function bn_add_activity_tab() { echo 'hello'; } add_action( 'bp_activity_type_tabs', 'bn_add_activity_tab', 1, 2 );if I understand correctly it should hook itself to the activity type tabs. but it does absolutely nothing.
I tried it in my theme’s functions.php, as well as in a plugin (which I also try to force be loaded after buddypress like this). other things in my plugin work (so I’m sure the plugin is loaded and working)any ideas?
thanks
I am using a page template for my “front page” so that if a user is logged out they see the “sign up” side of the site and when logged in an activity feed.
I used the example loop here:https://codex.buddypress.org/developer/loops-reference/the-activity-stream-loop/
When I click ‘Favorite’, unlike on the
/member/username/activity feed where it instantly ajaxes between ‘Favorite’ and ‘Remove Favorite’, it tries loading the action/activity/favorite/123/?_wpnonce=asdf1234and then the redirect loop error kicks in.Ideas?
I’m trying to match the style of the twentyfourteen companion stylesheet on @imath’s awesome wp-ideastream plugin. As you can see here, the activity stream extends the full width of the page: http://thepln.ca/, while the ideastream page is much narrower: http://thepln.ca/ideastream/
I’ve tried messing around with the width:
#wp-idea-stream { width: 90%; padding: 20px; }But that really only gets me partially there. I’m hoping I can ride on the coattails of all of @hnla’s great work to apply the style from templates like activity and members, over to the template for ideastream. Is there a simple way to do this? The ideastream plugin allows you to take a WP template like page.php and rename it ideastream.php, allowing for customization. Could I call a buddypress div id in something like that and magically apply the BP style?
Any direction would be greatly appreciated.
Hello,
I’m trying to modify the activity page for my users to show their partner’s activity. I have the working functionality but in converting a query into a function to reuse, it no longer works.
Working:
global $bp, $wpdb; $myid = $bp->loggedin_user->id; $ourlink = $wpdb->get_var("SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = 'linkid' AND user_id = '$myid'"); $partnerid = $wpdb->get_var("SELECT user_id from $wpdb->usermeta where meta_key='linkid' AND meta_value = '$ourlink' AND user_id != '$myid'"); $partner = '&user_id=' . $partnerid; if ( bp_has_activities( bp_ajax_querystring( 'activity' ) . $partner ) ) :Not Working (Undefined Variable Error on the activity loop)
Theme functions file:
function sw_partner_id() { global $bp, $wpdb; $myid = $bp->loggedin_user->id; $ourlink = $wpdb->get_var("SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = 'linkid' AND user_id = '$myid'"); $partnerid = $wpdb->get_var("SELECT user_id from $wpdb->usermeta where meta_key='linkid' AND meta_value = '$ourlink' AND user_id != '$myid'"); $partner = '&user_id=' . $partnerid; return $partner; } add_action('sw_partner_activity', 'sw_partner_id');Modified Loop Template:
do_action( 'sw_partner_activity' ); if ( bp_has_activities( bp_ajax_querystring( 'activity' ) . $partner ) ) : ?>I’m sure I’m missing something here. I’ve tried firing the action in a number of default hooks as well as just calling the function without adding an action. I’ve tried passing $user_id to the function. Really at a loss for why the $partner variable isn’t getting passed from the function to the loop.
I’m filtering my activity pages using the bp_after_has_activities_parse_args filter and using conditionals depending on the activity page. But my conditionals are not working correctly for my custom pages. I’m not great with PHP but I’ve followed the instructions the best I can to put this together and I hope someone can help me with this to find a work around.
Here is what I’ve done.
I’m creating custom activity pages by setting them up in admin>pages>add page ‘custom-page-1’, ‘custom-page-2’ etc. I’ve setup each of these pages similar to the activity/index.php to create the activity loop:
<div id="buddypress"> <div class="activity"> <?php bp_get_template_part( 'activity/activity-loop' ); ?> </div> </div>Now with the parse_args filter, I can use conditionals to filter some of the activity pages, but my conditionals are not working correctly for my custom pages – they work to begin with but when I click the load more button, the new items are not being filtered. Here is an example to show you what is working and what is not (using the per_page filter for demonstration):
function cm_activity_filter( $retval ) { // The following conditionals to filter are working fine: // Activity directory if ( bp_is_activity_directory() ) { $retval['per_page'] = 2; } // User profile just-me component if ( bp_is_current_action( 'just-me' )) { $retval['per_page'] = 3; } // A custom component in the members profile I setup using bp_core_new_nav_item if ( bp_is_current_action( 'custom-compenent' )) { $retval['per_page'] = 10; } // The following conditionals to filter my custom pages are not working when the load more button is clicked : // custom activity page 1 if (is_page( 'custom-page-1' ) ) { $retval['per_page'] = 2; } // custom activity page 2 if (is_page( 'custom-page-2' ) ) { $retval['per_page'] = 8; } return $retval; } add_filter( 'bp_after_has_activities_parse_args', 'cm_activity_filter' );So the is_page() conditionals are not working when the load more button is clicked. Is there a way to get this to work correctly. Any help appreciated.
Hello,
I want visitors to be able to post from my homepage but don’t want to set the “Activity Page” as the homepage. I just need the code to go after the header so that users can post new updates from any page or post.(Should not repeat in Activity Page). The maximum updates should be set to the latest 2 updates. The rest will of course display in the Activity Page. Is this possible? Precisely, I want to display the “What’s on your mind” form in my homepage after the header to show everywhere without repeating in Activity Page. Kindly anyone is welcome to help. My theme is customizr. The site is at http://mjomba.com.
BuddyPress Version Pietro 2.4
Wordpress Version 4.4Hi, this is a known “issue” i have read every single topic here, i even run a script on my database.
The thing is that in /members it only show the amount of users that had logged in after buddypress was installed. Before the Buddypress instalation i had 2000 users, now i have 4000+, so in /members the member count only counts those 4000 users.
I run a script (created a mu-plugin) that goes user by user (foreach) and gave a last_activity time stamp. (Thats what i read in lots of forums, buddypress uses last_Activity to determine if the user is a buddypress or a WP user).
Didnt work, the pre-buddypress users dont show up.
I dont know what to do, in the front page of my site im saying that the site has over 6000 users and in /members it says that are only 4000. Im losing credibility.
Other people suggested that selecting another filter like “Alphabetically” or “Last registered” should show all the users… Thats not my case.
Wordpress version: 4.3
Buddypress version: 2.4
Im using a custom theme that uses this to show the amount of users:<div id="pag-top" class="pagination"> <div class="pag-count" id="member-dir-count-top"> <?php bp_members_pagination_count(); ?> </div> <div class="pagination-links" id="member-dir-pag-top"> <?php bp_members_pagination_links(); ?> </div> </div>HELP !
Inside my theme (a child of the One community theme, I built page with custom loop showing only status updates (in order to have seperate “Status updates” and “group updates” links in my main menu).
The object filtering works fine on first load, but when scrolling down to the read more, the loop then loads all Bp activity instead of applying my object filter.
Any idea what i might be doing wrong ?
Here is my custom-activity-loop.php :
<?php do_action( 'bp_before_activity_loop' ); ?> <?php if ( bp_has_activities( bp_ajax_querystring( 'activity' ) . '&object=activity' ) ) : ?> <?php /* if ( bp_has_activities( 'action=joined_group' ) ) :*/?> <?php if ( empty( $_POST['page'] ) ) : ?> <ul id="activity-stream" class="activity-list item-list"> <?php endif; ?> <?php while ( bp_activities() ) : bp_the_activity(); ?> <?php locate_template( array( 'activity/entry.php' ), true, false ); ?> <?php endwhile; ?> <?php if ( bp_activity_has_more_items() ) : ?> <li class="load-more"> <a href="<?php bp_activity_load_more_link() ?>"><?php _e( 'Load More', 'buddypress' ); ?></a> </li> <?php endif; ?> <?php if ( empty( $_POST['page'] ) ) : ?> </ul> <?php endif; ?> <?php else : ?> <div id="message" class="info"> <p><?php _e( 'Sorry, there was no activity found. Please try a different filter.', 'buddypress' ); ?></p> </div> <?php endif; ?> <?php do_action( 'bp_after_activity_loop' ); ?> <form action="" name="activity-loop-form" id="activity-loop-form" method="post"> <?php wp_nonce_field( 'activity_filter', '_wpnonce_activity_filter' ); ?> </form>
Yay for the new release! I love how the comments synchronise.
I was super excited when I saw the Custom Post Type Comment Tracking function would be added to the new version of BuddyPress, so I’ve been waiting (im)patiently for the release, but I can’t get it to work. I want comments to lessons of the Namaste! LMS plugin (post type = namaste_lesson) to show up in the activity stream.
I use WP 4.4.2 and BP 2.5.0, single site install
I tried with twenty fifteen theme, still the same problem.
I tried all repair tools, deinstalled all plugins, reinstalled just BP and Namaste, and also tried it without Namaste with another CPT
I tried adding
add_post_type_support( 'namaste_lesson', 'buddypress-activity' );to bp_custom.php
I also tried this this snippet https://codex.buddypress.org/plugindev/post-types-activities/#1-add-comments-tracking-to-an-existing-post-type but I wasn’t sure how to use the namaste_lesson because of the underscore, for instance in
'action_id' => 'new_blog_page',does that become
'new_namaste_lesson'??
As you can tell I’m completely new to coding. I would love to learn, though.
Thanks so much!