From 2099c877aaa539439b2c6255db6872af2db85a11 Mon Sep 17 00:00:00 2001 From: David Cavins Date: Fri, 10 Dec 2021 16:15:17 +0000 Subject: [PATCH] Membership Requests: Add links to signup form. Add links to the signup form in the WP sidebar, on the login form and in the WP toolbar. Fixes #8582. git-svn-id: https://buddypress.svn.wordpress.org/trunk@13171 cdf35c40-ae34-48e0-9cc9-0c9da1808c22 --- .../bp-members-membership-requests.php | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/src/bp-members/bp-members-membership-requests.php b/src/bp-members/bp-members-membership-requests.php index 8e6319512c..a6c78e0e29 100644 --- a/src/bp-members/bp-members-membership-requests.php +++ b/src/bp-members/bp-members-membership-requests.php @@ -368,3 +368,85 @@ function bp_members_membership_requests_filter_signup_table_unsent_message( $mes add_filter( 'bp_members_signup_date_sent_unsent_message', 'bp_members_membership_requests_filter_signup_table_unsent_message', 10, 2 ); add_filter( 'bp_members_ms_signup_date_sent_unsent_message', 'bp_members_membership_requests_filter_signup_table_unsent_message', 10, 2 ); +/** + * Filter/add "Request Membership" links in the following locations: + * - BP login widget, + * - Sidebar register link, + * - WP Toolbar, + * - WP login form. + *********************************************************************/ + +/** + * Add "Request Membership" link to Widget login form. + * + * @since 10.0.0 + * + * @return string $retval the HTML for the request membership link. + */ +function bp_members_membership_requests_add_link_to_widget_login_form() { + ?> + + ' . esc_html__( 'Request Membership', 'buddypress' ) . ''; + } + + return $link; +} +add_filter( 'register', 'bp_members_membership_requests_filter_sidebar_register_link' ); + +/** + * Add a "Request Membership" link to the WP Toolbar. + * Priority 21 should place it just after the "Log In" link. + * + * @since 10.0.0 + * + * @param WP_Admin_Bar $wp_admin_bar WP_Admin_Bar instance, passed by reference + */ +function bp_members_membership_requests_add_toolbar_link( $wp_admin_bar ) { + if ( is_user_logged_in() ) { + return; + } + + $args = array( + 'id' => 'bp-request-membership', + 'title' => __( 'Request Membership', 'buddypress' ), + 'href' => wp_registration_url(), + 'meta' => array( + 'class' => 'buddypress-request-membership', + 'title' => __( 'Request Membership', 'buddypress' ), + ), + ); + + $wp_admin_bar->add_node( $args ); +} +add_action( 'admin_bar_menu', 'bp_members_membership_requests_add_toolbar_link', 21 ); + +/** + * Add a "Request Membership" link to the WP Login form. + * + * @since 10.0.0 + * + * @param string $link HTML link to the home URL of the current site. + * @return string HTML link to the home URL of the current site and the one to request a membership. + */ +function bp_members_membership_requests_add_link_wp_login( $link ) { + $link_separator = apply_filters( 'login_link_separator', ' | ' ); + + return $link . $link_separator . '' . esc_html__( 'Request Membership', 'buddypress' ) . ''; +} +add_action( 'login_site_html_link', 'bp_members_membership_requests_add_link_wp_login' );