Skip to content

Instantly share code, notes, and snippets.

View sbrajesh's full-sized avatar

Brajesh Singh sbrajesh

View GitHub Profile
@sbrajesh
sbrajesh / buddypress-exclude-users-member-type-from-list.php
Created September 10, 2018 14:21
Exclude Logged BuddyPress User's member type from the member lists
/**
* Filter members list for logged in user's member type.
*
* @param array $args member query args.
*
* @return array
*/
function buddydev_filter_members_list_exclude_logged_member_type( $args ) {
@sbrajesh
sbrajesh / bp-restrict-non-member-type-members.php
Created September 22, 2018 02:03
Only users who have atleast one member type assigned can access BuddyPress Section
/**
* Restrict access to BuddyPress to members having assigned member type.
*/
function buddydev_protect_bp_from_non_members() {
// Do not restrict if
// Not BuddyPress, or Registration/Activation page or is site admin.
if ( ! is_buddypress() || bp_is_register_page() || bp_is_activation_page() || is_super_admin() ) {
return;
}
@sbrajesh
sbrajesh / current-group-autojoin-for-bp-ajax-registration.php
Created October 4, 2018 13:33
Auto join user to current group when using BuddyPress Ajax Registration plugin.
/**
* Auto join user to current group when using BuddyPress Ajax Registration plugin.
*
* @param int $user_id user id.
*/
function buddydev_auto_join_current_group_on_activation( $user_id ) {
if ( bp_is_group() ) {
groups_join_group( groups_get_current_group()->id, $user_id );
@sbrajesh
sbrajesh / gist:cc37e8794527f86046e1d880490d974b
Created January 9, 2019 23:15
BuddyPress Private Message Rate Limiter, Role based customization
/**
* Get the applicable limit for the given role.
*
* @param string $role role name.
*
* @return array
*/
function buddydev_custom_get_role_based_message_limit( $role ) {
/**
* Attach media with comments on a mediapress activity.
*
* @param int $comment_id comment id.
* @param array $r args.
* @param BP_Activity_Activity $activity activity object.
*/
function mpp_custom_comment_posted( $comment_id, $r, $activity ) {
@sbrajesh
sbrajesh / custom-redirect-bp-autoactivate.php
Created May 15, 2019 16:23
Custom redirect after auto activation/auto login
/**
* Redirect user to some page on site when automatically activated and logged in.
*
* @param string $url url to redirect to.
* @param int $user_id user id.
*
* @return string
*/
function buddydev_custom_activation_redirect( $url, $user_id ) {
@sbrajesh
sbrajesh / user-report-message-thread.php
Created February 19, 2019 06:01
Add user report button in message thread.
/**
* Add block/unblock button on single message thread.
*/
function buddydev_show_user_report_button_on_message_thread() {
// only message involving single user can be blocked.
if ( ! function_exists( 'bpmts_report_button' ) || ! bp_is_my_profile() ) {
return;
}
@sbrajesh
sbrajesh / gist:42843929a5b89c3065ee2ae6b1e6a904
Created December 11, 2018 03:23
Use a text field as a way to link to other users profile on BuddyPress
class BP_Other_User_As_Profile_Field {
/**
* Field id, replace with actual field id.
*
* @var string
*/
private $field_id = 25; // Chang it with actual field id.
@sbrajesh
sbrajesh / hv2.php
Created November 5, 2018 13:31
Featured Member Expiration based on role
/**
* Class BP_Featured_Member_Expirable_Membership
*
* @author Ravi Sharma
*/
class BP_Featured_Member_Expirable_Membership{
/**
* Singleton Instance
@sbrajesh
sbrajesh / buddypress-user-contact-form-extend.php
Created June 26, 2018 15:52
Extend BuddyPress User Contact Form
/**
* BuddyPress User Contact Form extension.
*/
class BPUCF_Custom_Extend {
public function __construct() {
$this->setup();
}