Skip to:

Search Results for 'how to hide pages'

Viewing 25 results - 251 through 275 (of 286 total)
  • Author
    Search Results
  • #81566

    You could probably hook into the get_header action, do your conditional check and if the person is a mentor, then show the page, otherwise show the registration page or whatever.

    Modify the function listed in this thread:

    Hopefully it gives you a few pointers.


    Hi all…

    There are a few discussions around hiding pages but my problem is slightly different (I hope :))

    I have a custom if_user_is function that looks if a user is a ‘learner’ or ‘mentor’ from a custom db field. I’m wanting to show BUDDYPRESS only to the mentors…

    Is there anywhere I can do this in the root rather than a conditional statement on each BP template?

    MASSIVE apologies if this has been touched on but I could only find references to blocking “all users”.



    Not sure what to tel you about the theme issues you’re having (I just modified the BP default one), but I get what you mean about the BP groups/forums confusion.

    The audience I’m after is used to vbulletin forums, so I actually found some code posted here on that made groups open onto the group forum by default, and then I put a conditional around the activity stream posting thing on the group activity pages that only allows admins to see/use that. This way, all group activity id funneled into the forums, unless the group admin just feels the need to post something to the activity stream. I also just did away with the ability to post activity stream updates from the sitewide stream page, but you could just modify the ‘post update to’ dropdown menu there to hide and make it post to the user’s profile only.

    All in all, I’ve found that Buddypress can be a bit of work if you want to change the way it does certain things, but for most people the features are worth the trade-off of some extra work. I hope you get it all figured out and working the way you’d like :)


    @themeanwhile – you can enable or disable the various components so if you want Activities only, enable that and disable other components. After you activate BuddyPress, go to the new BuddyPress menu item on the left column of dashboard, and go to

    a) General Settings – these are your choices
    Base profile group name:
    Full Name field name:
    Disable BuddyPress to WordPress profile syncing?: Yes No
    Hide admin bar for logged out users?: Yes No
    Disable avatar uploads? (Gravatars will still work): Yes No
    Disable user account deletion?: Yes No
    Disable global forum directory?: Yes No
    Disable activity stream commenting on blog and forum posts?: Yes No
    Default User Avatar – For users without a custom avatar of their own, you can either display a generic logo or a generated one based on their email address

    b) Component Setup
    Activity Streams – Allow users to post activity updates and track all activity across the entire site.
    Enabled Disabled
    Blog Tracking – Tracks blogs, blog posts and blogs comments for a user across a WPMU installation.
    Enabled Disabled
    bbPress Forums – Activates bbPress forum support within BuddyPress groups or any other custom component.
    Enabled Disabled
    Friends – Allows the creation of friend connections between users.
    Enabled Disabled
    Groups – Let users create, join and participate in groups.
    Enabled Disabled
    Private Messaging – Let users send private messages to one another. Site admins can also send site-wide notices.
    Enabled Disabled
    Extended Profiles – Activates customizable profiles and avatars for site users.
    Enabled Disabled

    I would suggest you set up a test install so you can check the features for yourself.

    “Of course, activity filters, profile page, friends page, settings page, etc, would also need to be migrated to display in the backend.”
    Why? If you want to make the BP Activity section private, you can add conditional tags for is_user_logged_in …


    Hey Guys,

    I am fine with public users seeing the content of my site, what I would like to achieve though is hiding the forms for “add a reply:” and “post new topic” in group and forum pages for non logged in users.

    How can I achieve that? I know I need to add some code to my functions.php, I appreciate your help


    I read somewhere here, that the BP team is planning to add privacy options in future releases. I have no idea if they’re going to include these things in it, but I hope so.

    I also found out that the RUO 2 plugin isn’t an option for me. I didn’t take a look at the s2members plugin yet.

    Before I used the WP sentry plugin. This one works for Posts, but it also hides the menubuttons for pages if you’re logged in. So ome changes for this plugin would be helpfull too.


    this plugin hides every pages ton non-registered users

    this one can hide specific pages / components


    Terrific plugin! Using BuddyPress Links 0.4.1 (with BuddyPress 1.2.3, WPMU 2.9.2). Some feedback:


    – When viewing a link in the Links tab, the A tag of the external link icon needs a target=”_blank”.

    – Would be nice to have “Report Broken Link” and “Flag as Inappropriate” buttons for each link (or may be simply “Report” to save space, and it popups to “Report Broken Link” and “Flag as Inappropriate”). Then have that status show up in the Manage Links page as two additional columns. And also have a way of filtering and showing just broken or inappropriate links in the Manage Links report. And also have a way to clear status. Perhaps record user who reported the status (in case that user is falsely reporting and should be banned).


    – Instead of 3 entries in the BuddyPress dashboard menu (i.e.: BuddyPress Links / Manage Links / Edit Categories), have only one entry “Links”. Then divide the admin page into tabs: Settings, Links, Categories, Support, About.

    – The “Search Links” box and the “Search Categories” box (on the Manage Links and Edit Categories pages, respectively) are not in the same vertical location. “Search Links” box is above the heading, “Search Categories” is below the heading.

    – Disable the “Delete” buttons if no Links/Categories selected to delete.

    – When doing a search (Search Links / Search Categories), add a “Show all Links” / “Show all Categories” button/link to clear the search criteria.

    Manage Links page:

    – Make all the A tags (Details / Owner / Edit) have target=”_blank”.

    – Link the link avatar to the destination URL (with a target=”_blank”).

    – If hover over a link avatar, show full size image in floating popup (like a tooltip).


    – Have a setting to enable/disable rel=”nofollow”.

    – Have 3 checkbox settings to hide a link if it: (1) goes below a specified negative rating (e.g.: -10); (2) is flagged inappropriate a specified number of times; (3) reported broken a specified number of times. The link’s owner would still see the link but with a warning.

    – Have a setting to specify what avatar to show if none specified. First radio box would be “default avatar”, following by radio boxes to select screen snapshot thumbnail from the various snapshot website services.


    In reply to: Hide BP widgets


    Im confused, so I need to create a plug-in. I tried adding the following code to a file named “bp-custom.php” and then dropped into my plug-ins folder and got a error.on all my pages

    Then I tried to drop that same file into buddypress and it didnt work.


    Hi MrMaz, I think your plugin is super! I do have one question, we are building a buddypress pay site and we want to hide all of the tabs except for a few pages if the user is logged in. Where can I find the code that creates the “Links” navigation in the top header so that I can hide it if the user is logged in or not? Also, can “Links” navigation item be changed to the word “Videos” instead? It seems like both of these would be easy fixes once I knew where the code is, or is it more complicated than that? Thanks in advance for your help!

    Nick Watson

    Any help at all? Here’s what I have:

    <textarea name="whats-new" id="whats-new" value="" />@<?php bp_displayed_user_username() ?> </textarea>

    So all that I would like do do is hide the

    @<?php bp_displayed_user_username() ?> from the user


    As the topic says,i want to hide activity ,members and the search bar from unregistered/not logged in users

    below is my header code:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">

    <html xmlns="" <?php language_attributes(); ?>>

    <head profile="">

    <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />

    <title><?php bp_page_title() ?></title>

    <?php do_action( 'bp_head' ) ?>

    <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />

    <?php if ( function_exists( 'bp_sitewide_activity_feed_link' ) ) : ?>
    <link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> | <?php _e('Site Wide Activity RSS Feed', 'buddypress' ) ?>" href="<?php bp_sitewide_activity_feed_link() ?>" />
    <?php endif; ?>

    <?php if ( function_exists( 'bp_member_activity_feed_link' ) && bp_is_member() ) : ?>
    <link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> | <?php bp_displayed_user_fullname() ?> | <?php _e( 'Activity RSS Feed', 'buddypress' ) ?>" href="<?php bp_member_activity_feed_link() ?>" />
    <?php endif; ?>

    <?php if ( function_exists( 'bp_group_activity_feed_link' ) && bp_is_group() ) : ?>
    <link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> | <?php bp_current_group_name() ?> | <?php _e( 'Group Activity RSS Feed', 'buddypress' ) ?>" href="<?php bp_group_activity_feed_link() ?>" />
    <?php endif; ?>

    <link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> <?php _e( 'Blog Posts RSS Feed', 'buddypress' ) ?>" href="<?php bloginfo('rss2_url'); ?>" />
    <link rel="alternate" type="application/atom+xml" title="<?php bloginfo('name'); ?> <?php _e( 'Blog Posts Atom Feed', 'buddypress' ) ?>" href="<?php bloginfo('atom_url'); ?>" />

    <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />

    <?php wp_head(); ?>


    <body <?php body_class() ?> id="bp-default">

    <?php do_action( 'bp_before_header' ) ?>

    <div id="header">

    <h1 id="logo"><a href="<?php echo site_url() ?>" title="<?php _e( 'Home', 'buddypress' ) ?>"><?php bp_site_name() ?></a></h1>

    <ul id="nav">
    <li<?php if ( bp_is_front_page() ) : ?> class="selected"<?php endif; ?>>
    <a href="<?php echo site_url() ?>" title="<?php _e( 'Home', 'buddypress' ) ?>"><?php _e( 'Home', 'buddypress' ) ?></a>

    <?php if ( 'activity' != bp_dtheme_page_on_front() && bp_is_active( 'activity' ) ) : ?>
    <li<?php if ( bp_is_page( BP_ACTIVITY_SLUG ) ) : ?> class="selected"<?php endif; ?>>
    <a href="<?php echo site_url() ?>/<?php echo BP_ACTIVITY_SLUG ?>/" title="<?php _e( 'Activity', 'buddypress' ) ?>"><?php _e( 'Activity', 'buddypress' ) ?></a>
    <?php endif; ?>

    <li<?php if ( bp_is_page( BP_MEMBERS_SLUG ) || bp_is_member() ) : ?> class="selected"<?php endif; ?>>
    <a href="<?php echo site_url() ?>/<?php echo BP_MEMBERS_SLUG ?>/" title="<?php _e( 'Members', 'buddypress' ) ?>"><?php _e( 'Members', 'buddypress' ) ?></a>

    <?php if ( bp_is_active( 'forums' ) && bp_is_active( 'groups' ) && ( function_exists( 'bp_forums_is_installed_correctly' ) && !(int) bp_get_option( 'bp-disable-forum-directory' ) ) && bp_forums_is_installed_correctly() ) : ?>
    <li<?php if ( bp_is_page( BP_FORUMS_SLUG ) ) : ?> class="selected"<?php endif; ?>>
    <a href="<?php echo site_url() ?>/<?php echo BP_FORUMS_SLUG ?>/" title="<?php _e( 'Forums', 'buddypress' ) ?>"><?php _e( 'Forums', 'buddypress' ) ?></a>
    <?php endif; ?>

    <?php wp_list_pages( 'title_li=&depth=1&exclude=' . bp_dtheme_page_on_front() ); ?>

    <?php do_action( 'bp_nav_items' ); ?>
    </ul><!-- #nav -->

    <div id="search-bar">
    <div class="padder">

    <form action="<?php echo bp_search_form_action() ?>" method="post" id="search-form">
    <input type="text" id="search-terms" name="search-terms" value="" />
    <?php echo bp_search_form_type_select() ?>

    <input type="submit" name="search-submit" id="search-submit" value="<?php _e( 'Search', 'buddypress' ) ?>" />
    <?php wp_nonce_field( 'bp_search_form' ) ?>
    </form><!-- #search-form -->

    <?php do_action( 'bp_search_login_bar' ) ?>

    </div><!-- .padder -->
    </div><!-- #search-bar -->

    <?php do_action( 'bp_header' ) ?>

    </div><!-- #header -->

    <?php do_action( 'bp_after_header' ) ?>
    <?php do_action( 'bp_before_container' ) ?>

    <div id="container">

    Any help would be appreciated thanks

    Nick Watson

    So basically I’ve come up with a very simple way for users to post on other users ‘walls’ without needed to go all the way back to their profile to do the @mention thing.

    It’s nothing spectacular right now because it’s still using @mention I just need some help with it.

    So what I have now is when you go to a friend or another users page, it’s displaying the “whats new” form with predefined text of

    @<?php bp_displayed_user_username() ?>

    This way when a user wants to post something to another user they can just simply go to their page, and type it there.

    The MAIN issue I would like to solve is this:

    What if a user goes to the page, and deletes the predefined text (the @username)? Is there anyway I can hide the @username from the user, so that when they go to post int he form, they just see a textarea and they post what they want to say, and then when they press submit the hidden @username will be added to the front of their post?

    Thank you.


    Hi all,

    I’ve been trying to add buddypress to an existing wordpress site, but a weird quirk has shown up.

    Example pic

    I followed the buddypress installation instructions and added the buddypress template pack, which all went well, but now I have an issue with the sidebar displaying below the content on buddypress pages in addition to the sidebar that already exists. I’ve done a quick css hack to hide the superfluous sidebar but it’s still breaking some functionality on the original sidebar. I’ve made some edits to the template files, as per the installation instructions, but the unnecessary sidebar still shows up. Also, i should mention that this issue doesn’t occur on the wordpress pages, only the buddypress pages. The theme I’m using is Comet by Frostpress.

    Any help would be welcome.

    Thanks in advance,



    Here is my Sidebar which does exactly what you want: Show different sidebars on different BP sections of the site.. It does not work 100% (blog sidebar does not show up yet) but it should get you started. You use BP conditional tags to show/hide the different sidebars depending where the user is on the site:

    <?php do_action( 'bp_before_sidebar' ) ?>

    <div id="sidebar">

    <div class="padder2">
    locate_template( array( 'accordeon.php' ), true );
    <?php do_action( 'bp_inside_before_sidebar' ) ?>
    <?php if ( is_user_logged_in() ) : ?>

    <?php do_action( 'bp_before_sidebar_me' ) ?>

    <?php endif; ?>

    <?php /* Show forum tags on the forums directory */
    if ( BP_FORUMS_SLUG == bp_current_component() && bp_is_directory() ) : ?>
    <div id="forum-directory-tags" class="widget tags">

    <h3 class="widgettitle"><?php _e( 'Forum Topic Tags', 'buddypress' ) ?></h3>
    <?php if ( function_exists('bp_forums_tag_heat_map') ) : ?>
    <div id="tag-text"><?php bp_forums_tag_heat_map(); ?></div>
    <?php endif; ?>
    <?php endif; ?>

    <div class="padder3">

    <?php if(bp_is_group()){
    if(!dynamic_sidebar("Group Sidebar")){?>
    <?php }
    else if(bp_is_member()){
    if(!dynamic_sidebar("Profile Sidebar")){ //if user profile etc
    else if(bp_is_blog_page() || bp_is_directory()){
    if(!dynamic_sidebar("Blog Sidebar")){?>
    <?php } }
    else dynamic_sidebar( 'Sidebar' )?>
    <?php dynamic_sidebar( 'sidebar' ) ?>

    <?php do_action( 'bp_inside_after_sidebar' ) ?>
    <?php /* Show forum tags on the forums directory */
    if ( BP_FORUMS_SLUG == bp_current_component() && bp_is_directory() ) : ?>
    <div id="forum-directory-tags" class="widget tags">

    <h3 class="widgettitle"><?php _e( 'Forum Topic Tags', 'buddypress' ) ?></h3>
    <?php if ( function_exists('bp_forums_tag_heat_map') ) : ?>
    <div id="tag-text"><?php bp_forums_tag_heat_map(); ?></div>
    <?php endif; ?>
    <?php endif; ?>
    </div><!-- .padder -->
    </div><!-- #sidebar -->

    <?php do_action( 'bp_after_sidebar' ) ?>

    Make sure to register the sidebars in your functions.php (of your child theme)

    if (function_exists('register_sidebar')) {
    'name' => 'Blog Sidebar',
    'before_widget' => '<div id="%1$s" class="widget %2$s">',
    'after_widget' => '</div>',
    'before_title' => '<h3 class="widgettitle">',
    'after_title' => '</h3>',
    'name' => 'Profile Sidesbar',
    'before_widget' => '<div id="%1$s" class="widget %2$s">',
    'after_widget' => '</div>',
    'before_title' => '<h3 class="widgettitle">',
    'after_title' => '</h3>',
    'name' => 'Group Sidebar ',
    'before_widget' => '<div id="%1$s" class="widget %2$s">',
    'after_widget' => '</div>',
    'before_title' => '<h3 class="widgettitle">',
    'after_title' => '</h3>',
    'name' => 'Left Footer',
    'before_widget' => '<div id="%1$s" class="widget %2$s">',
    'after_widget' => '</div>',
    'before_title' => '<h3 class="widgettitle">',
    'after_title' => '</h3>',
    'name' => 'Middle Footer',
    'before_widget' => '<div id="%1$s" class="widget %2$s">',
    'after_widget' => '</div>',
    'before_title' => '<h3 class="widgettitle">',
    'after_title' => '</h3>',
    'name' => 'Right Footer',
    'before_widget' => '<div id="%1$s" class="widget %2$s">',
    'after_widget' => '</div>',
    'before_title' => '<h3 class="widgettitle">',
    'after_title' => '</h3>',


    Topic: Skysa Footer Bar

    in forum Ideas

    Im here to move a plugin forward. if you know about you then know how great of an addon it really is. Did you know they have an api for it?

    Here is the code

    <script type=”text/javascript”>

    var _SKYAUTH = {








    This is called sky auth the api behide skysa. learn more here

    What you may not know there no currently as of this post no working api for wordpress for skysa.

    This is what I want to change. The only one who has got this to work has only made it for vb. He is now working on phpbb3. We need to work on wordpress. There is no support for sky auth how ever there is support for the skysa bar. is using the skysa bar but we have not been able to get sky auth to work.

    Here is what you can do with skysa

    Integrated Membership – Skysa is able to offer deeper apps because our bar has Member Integrated Features. We will have 100’s of Social Apps you can use with your website that are possible thanks to intergraded membership.

    * Integrated Member Login and Registration, this create a rich user experience and allows you to collect valuable member information.

    * Micro Profiles with profile photo, member about me and much more. Customizable!

    * Member management page for managing member accounts with full access to all member information including emails.

    * Use your own Members Database. When your members are logged into your website they are logged into the bar.

    * Members on Ning, and Spruz are automatically logged into the bar. Thus allowing for a richer member experience.

    Attractive User Experience – We are the only bar platform with App Windows that can be Dragged, Resized and Moved inside your page.

    * Clean Bar Design that makes it easy for your visitors to find an option they are looking for.

    * Easy to use Bar Style Designer with real time style bar preview. This allows you to closely match the bar style to the look and feel of your website.

    * Several Predesigned Bar Themes that can all be easily customized by you.

    * Visitors can Drag, Resize and Move your App Windows

    * Bar Collapse Options. Users can collapse the bar or you can collapse it for them.

    * Tools Menu for collapse mode for easy access to your installed Apps without having to expand the whole bar. Plus you can turn off Bar Collapsing

    * Go Completely White Label, removes all Skysa Branding from your bar.

    Skysa App Collection

    Currently we have 27 Apps and growing. You can use and install the Apps that best fit your needs. It’s up to you! We are adding new Apps Weekly, Go to your Get Apps page to add Apps to your bar. We will have a developer API ready soon.


    Alert your website visitors when there is something new to tell them. This App allows you to add announcements/notices that display automatically 1 time per person when something new is posted.

    Chat Room

    This Chat Room App is launch-able chat room and takes advantage of our integrated member system. The Chat Room features a list of who’s online in the room, a counter in the bar that displays the number of people in chat and Instant Messaging just to name a few of the features.


    Our commenting App is very customizable and takes advantage of our integrated membership system. Control rather visitors or only members can comment, select the number of comments per page, and more! Also has a comment liking feature so people reading a comment can like it.

    Custom App

    For Advanced Users Only. This App allows you to configure your own custom App for use in the bar. Copy and paste a Widget,HTML, Text or custom Javascripting.

    Facebook Fan Page

    This app displays information directly from your Facebook Group. Add this App to bring your social spaces a little closer to home.

    Flickr Photo Gallery (Cooliris)

    This is a photo wall that allows you to display photos from a flickr account

    Friends IM App

    With our Friends Instant Messaging App your members see a list of their friends that are online that they can IM. Currently this App only works on websites powered by the Spruz Platform.

    Games (HeyZap)

    Games powered by HeyZap

    Games (Hooked Media)

    Games powered by Hooked Media Group

    Interactive Sharing (Beta)

    Interactive sharing allows people on your website to comment, and share pieces of your websites content. Users can highlight blocks of text, images, and videos, then comment, and post it to their favorite sharing website (Facebook, Twitter, Etc). When people click on the shared link users will see the content that was shared highlighted right on your website with the option to comment on it. This App features reporting that shows the links shared, comments, clicks and much more!

    Map and Directions (Google)

    This app allows users to see a map and get directions to an address of your choosing. The user can also print out the directions.

    Navigation Box

    Adds a navigation menu to your website. Create links to sites you love, other pages on your site or Blog RSS feeds.

    Quick Links

    Offer quick launch links on your bar. Top Features daily click tracking, and launches a link while keeping a bar at the top for quick navigation back to your website.

    Random Post

    Help people discover your website news with our Random Post App. Enter your RSS feed and our system does the rest to pick a redirect your visitor random entry from your Blog.

    RSS Feed

    This App allows you to enter an RSS feed and display summary information from the feed in and App Window.

    RSS Ticker

    This App displays a Ticker (Scroll Message) from any RSS feed on your bar. Features include Entry Preview that shows some text from the entry and an image that auto pans if it is to large. In the App Settings you can set how wide the ticker displays on your bar, the number of entries to display, window open options for when an entry is clicked, and the loading text. You can install up to 3 RSS Tickers on your bar.

    Scroll To Top

    This is a simple App that adds a button for users to quickly scroll to the top of your page.


    Powered by Google Search allows your visitors to find content they are looking for within your website.

    Share (By Addthis)

    Allow your website to go Viral with Sharing. This uses the Sharing Service AddThis to offer your visitor with a hugh list of ways they can share your website.

    Simple Text Ticker

    This App displays a Ticker (Scroll Message) of any text you choose. In the App Settings you can set how wide the ticker displays on your bar and the speed you want it to scroll(including no scrolling). When the ticker is hovered over the tool tip shows the full text.


    Translates your website text to a language that is more familiar to your website visitor. You decide how many languages you want to offer your website visitor to pick from.


    Get Twitter Connected on your website, post tweets directly from your webpage or blog. Features your Twitter feed, Converstation feed and Twitter Search

    Video Chat (TinyChat)

    Cool Video Chat room that supports Web Cams and Audio powered by TinyChat. This App Supports Skysa Membership Systems, Members logged into your website automaticly can join chat without having to log into chat again.

    Voting Poll

    Allow your members to vote on hot topics that you create with this Voting Poll App. Key features include Poll History, Auto Poll Closing and More!

    Who’s Online IM

    This Who’s Online app features a list of who’s online currently, a counter in the bar that displays to everyone with the number of people online and integrated Instant Messaging and co-browsing.

    YouTube Video Wall (Cooliris)

    Powered by Cooliris this App displays media from a your YouTube Channel on an interactive 3D wall.

    YouTube Videos

    Do you YouTube? If so this App is for you, automatically grabs your newest videos from your YouTube Channel and displays them in a movable box. Shows the video image, description, and title. Plus when a video is clicked it displays directly on your website!

    (mod note: removed affiliate link and changed the title of the topic to be more reflective of the actual post)


    So many posts about this topic!!!

    I too want to restrict pages / posts / and ALL buddypress pages to non members …

    Thanks peterverkooijen for the temporary solution but there should be a plugin that can do this in a nicer way.

    Does anyone know?


    In WPMU the solution is to deactivate WP-O-Matic from the main blog and create a blog only for the feeds. After creating the new blog go to its back-end > plugins > activate WP-O-Matic and that’s it. The feed posts will appear on the site-wide activity. The conflict seems to exist only in the main blog.

    I’m using a WordPress single instalation and the only problem is that in some cases the “Warning: Cannot modify header information – headers already sent by … and so on” keeps showing but WP-O-Matic is running perfectly. The warnings only show in Buddypress pages, not in the blog.

    I’m looking now for a way to hide those warnings. If someone knows how to make warnings not show I really would be very grateful.


    I just wanted to add my own low-tech solution to a similar situation. This is what I did to hide all my BuddyPress features (members, activity, etc) while keeping my pages and blog posts publicly accessible…

    In my child theme, I copied the members/index.php, activity/index.php(etc etc) folders and files. Then in the index files, I surrounded everything inside the “padder” div (which displays all the content) with a is_user_logged_in tag like this:

    <div class=”padder”>

    <?php if (is_user_logged_in()){ ?>

    (content guts go here)

    <?php } else { echo “<h3>Members Only!</h3><p>Sorry. The page you have requested is for registered members only. Please visit our About page for more information on member registration. Thank you for visiting.</p>”;} ?>


    PHP isn’t really my thing, so that’s probably not the best way of doing it, but it worked.


    It’s not any one plugin that does the job. Here’s how I do it.

    Create a new blog (let’s call it Test) and set the privacy (more privacy options needed here and bp-mpo-activity-filter to keep it’s content out of the stream) to “only blog admins can see this blog” (this is necessary, but keeps things clean since nothing should get added to this blog).

    Use new-blog-defaults to set the blog defaults including menus that the users cannot use.

    Members is used to set capabilities of the admin (I don’t change the role of the new blog just the admin’s capabilities) so the admin is “like” an editor or author, but I can still let them change their themes (theme changing is very important to young users).

    Wpmu-plugin-manager lets you set which plugins to allow users to use and which ones are automatically turned on (I always turn on Ozh’s Admin Menus for example). Turn on any plugins you want to use and tweek their settings and any other blog settings.

    Then Adminimize to further hide menus the users don’t need (it only hides menus, but most users will never find them anyway). Adminimize is great for simplifying the write panels for posts and pages too. Any plugins I don’t want users to change settings on I can make sure they don’t have access to by making sure the menus are hidden.

    Now use new-blog-options under the site admin menu and give it the blog id of Test and check off any of the database fields you want new blogs to have (make sure the Members and Adminimize ones are checked). Maybe this isn’t exactly what you want, but it is probably the best overall way to simplify blogs for younger users.

    Also since I use these with classes, I just import my whole list from a spreadsheet using DD Import Users as subscribers on the main blog. I use limit-blogs-per-user and set the site-admin/options to 2. Now users can create their own blog, but can only create one blog of their own. This saves me a lot of time, but still gives the users a fair amount of freedom with their blogs.

    It isn’t a perfect solution. I would like to see some of the overlapping capabilities put into one plugin for cloning blogs. I would especially like to see the ability to have different templates (ie base blogs to clone from) so that I could have one setup for say grade 1 students and another setup for grade 5 students.

    Hope this is useful to someone.


    Great work! I haven’t had the time for a detailed test, but i have some short feadback for the beginning:

    1. Everything works fine and seems logical. Thats great. There could be some front-end twaeks, but i will come back later next week with some more detailed ideas and mockups.

    2. From our experience it is great to have advanced edit functions but hide them in a second row from the avarage user (like the wordpress backend editor does). For a wiki article the user (students) should focus on the content instead of any fancy formating. Basic options could be a select-box for h1, h2, h3 (this is important and must be easy accessible, because it will build the toc and people should get used to it) bold, italic, url link, unordered list, and numberd list. Everything else could go in a second or third row which appears if you click some “advanced options” button.

    3. (future release) A searchable wiki directory page with all public pages.

    4. (future release) “Suggest a wiki page” button so that non admin-members could ask the admin to create a new wiki page for them.

    5. (future release) non-admin wiki page creation



    setting up different group types is fairly easy. You just have to attach some groupmeta to the group, that basically let you add as many types as you’d like. Then you just check the metadata to figure out what type of group you’re in. Using the groups API you can then add different functionality for different groups.

    I’ve written a types-plugin for one of my sites. It doesn’t have an interface, though. The 3 types I needed are hardcoded into it, so it’s really not suited for a release at the moment. There’s also a lot of more stuff, like a shopping cart, part of that plugin. So, I’ve stripped the functions needed for group types out (hopefully al of them).

    First we need to add the addtional fields to our registration form:

    function sv_add_registration_group_types()
    <div id="account-type" class="register-section">
    <h3 class="transform"><?php _e( 'Choose your account type (required)', 'group-types' ) ?></h3>

    <script type="text/javascript" defer="defer">
    jQuery("#account-type-normal_user").attr("checked", true);
    if (jQuery(this).is(":checked")) {
    } else {
    if (jQuery(this).is(":checked")) {
    } else {

    <?php do_action( 'bp_account_type_errors' ) ?>
    <label><input type="radio" name="account_type" id="account-type-normal_user" value="normal_user" checked="checked" /><?php _e( 'User', 'group-types' ) ?></label>
    <label><input type="radio" name="account_type" id="account-type-type_one" value="type_one" /><?php _e( 'Type 1', 'group-types' ) ?></label>
    <label><input type="radio" name="account_type" id="account-type-type_two" value="type_two" /><?php _e( 'Type 2', 'group-types' ) ?></label>
    <label><input type="radio" name="account_type" id="account-type-type_three" value="type_three" /><?php _e( 'Type 3', 'group-types' ) ?></label>

    <div id="group-details">
    <p><?php _e( 'We will automatically create a group for your business or organization. This group will be tailored to your needs! You can change the description and the news later in the admin section of your group.', 'group-types' ); ?></p>

    <?php do_action( 'bp_group_name_errors' ) ?>
    <label for="group_name"><?php _e( 'Group Name', 'scuba' ) ?> <?php _e( '(required)', 'buddypress' ) ?></label>
    <input type="text" name="group_name" id="group_name" value="" />
    <br /><small><?php _e( 'We suggest you use the name of your business or organization', 'group-types' ) ?></small>

    <label for="group_desc"><?php _e( 'Group Description', 'scuba' ) ?></label>
    <textarea rows="5" cols="40" name="group_desc" id="group_desc"></textarea>
    <br /><small><?php _e( 'This description will be visible on your group profile, so it could be used to present your mission statement for example.', 'group-types' ) ?></small>

    <label for="group_news"><?php _e( 'Group News', 'scuba' ) ?></label>
    <textarea rows="5" cols="40" name="group_news" id="group_news"></textarea>
    <br /><small><?php _e( 'Enter any news that you want potential members to see.', 'group-types' ) ?></small>
    add_action( 'bp_before_registration_submit_buttons', 'sv_add_registration_group_types' );

    Then we have to validate things and add some usermeta when a regitration happens:

    * Add custom userdata from register.php
    * @since 1.0
    function sv_add_to_signup( $usermeta )
    $usermeta['account_type'] = $_POST['account_type'];

    if( isset( $_POST['group_name'] ) )
    $usermeta['group_name'] = $_POST['group_name'];

    if( isset( $_POST['group_desc'] ) )
    $usermeta['group_desc'] = $_POST['group_desc'];

    if( isset( $_POST['group_news'] ) )
    $usermeta['group_news'] = $_POST['group_news'];

    return $usermeta;
    add_filter( 'bp_signup_usermeta', 'sv_add_to_signup' );

    * Update usermeta with custom registration data
    * @since 1.0
    function sv_user_activate_fields( $user )
    update_usermeta( $user['user_id'], 'account_type', $user['meta']['account_type'] );

    if( isset( $user['meta']['group_name'] ) )
    update_usermeta( $user['user_id'], 'group_name', $user['meta']['group_name'] );

    if( isset( $user['meta']['group_desc'] ) )
    update_usermeta( $user['user_id'], 'group_desc', $user['meta']['group_desc'] );

    if( isset( $user['meta']['group_news'] ) )
    update_usermeta( $user['user_id'], 'group_news', $user['meta']['group_news'] );

    return $user;
    add_filter( 'bp_core_activate_account', 'sv_user_activate_fields' );

    * Perform checks for custom registration data
    * @since 1.0
    function sv_check_additional_signup()
    global $bp;

    if( empty( $_POST['account_type'] ) )
    $bp->signup->errors['account_type'] = __( 'You need to choose your account type', 'group-types' );

    if( empty( $_POST['group_name'] ) && $_POST['account_type'] != 'normal_user' )
    $bp->signup->errors['group_name'] = __( 'You need to pick a group name', 'group-types' );

    if( ! empty( $_POST['group_name'] ) && $_POST['account_type'] != 'normal_user' )
    $slug = sanitize_title_with_dashes( $_POST['group_name'] );
    $exist = groups_check_group_exists( $slug );
    if( $exist )
    $bp->signup->errors['group_name'] = __( 'This name is not available. If you feel this is a mistake, please <a href="/contact">contact us</a>.', 'group-types' );
    add_action( 'bp_signup_validate', 'sv_check_additional_signup' );

    And then we set up the group for the user (there are some constants in this function, so you’ll need to change that):

    * Create custom groups for skools, biz and org accounts
    * @since 1.0
    function sv_init_special_groups( $user )
    global $bp;

    // get account type
    $type = get_usermeta( $user['user_id'], 'account_type' );

    if( $type == 'normal_user' )
    // Do nothing
    elseif( $type == 'type_one' || $type == 'type_two' || $type == 'type_three' )
    // get some more data from sign up
    $group_name = get_usermeta( $user['user_id'], 'group_name' );
    $group_desc = get_usermeta( $user['user_id'], 'group_desc' );
    $group_news = get_usermeta( $user['user_id'], 'group_news' );

    $slug = sanitize_title_with_dashes( $group_name );

    // create dive skool group
    $group_id = groups_create_group( array(
    'creator_id' => $user['user_id'],
    'name' => $group_name,
    'slug' => $slug,
    'description' => $group_desc,
    'news' => $group_news,
    'status' => 'public',
    'enable_wire' => true,
    'enable_forum' => true,
    'date_created' => gmdate('Y-m-d H:i:s')
    // add the type to our group
    groups_update_groupmeta( $group_id, 'group_type', $type );

    // delete now useless data
    delete_usermeta( $user['user_id'], 'group_name' );
    delete_usermeta( $user['user_id'], 'group_desc' );
    delete_usermeta( $user['user_id'], 'group_news' );

    // include PHPMailer
    require_once( SV_MAILER . 'class.phpmailer.php' );

    $mail = new PHPMailer();
    $mail->Host = SV_SMTP;

    $auth = get_userdata( $user['user_id'] );
    $profile_link = $bp->root_domain . '/' . $bp->groups->slug . '/' . $slug . '/admin';

    $message = sprintf( __( 'Hello %s,

    we have created a group for your business or organization. To get more out of your presence on Yoursitenamehere please take some time to set it up properly.

    Please follow this link to fill in the rest of your profile: %s

    We wish you all the best. Should you have any questions regarding your new group, please contact us at

    Your Yoursitenamehere Team', 'group-types' ), $auth->display_name, $profile_link );

    $mail->AddAddress( $auth->user_email );

    $mail->Subject = __( 'Your new group pages on Yoursitenamehere', 'group-types' );
    $mail->Body = $message;
    $mail->WordWrap = 75;
    add_action( 'bp_core_account_activated', 'sv_init_special_groups' );

    When you write a group extension we’ll have to swap the activation call with a function like the one below to be able to check for group types.

    * Replacement activation function for group extension classes
    function activate_type_one()
    global $bp;
    $type = groups_get_groupmeta( $bp->groups->current_group->id, 'group_type' );
    if( $type == 'type_one' )
    $extension = new Group_Type_One;
    add_action( "wp", array( &$extension, "_register" ), 2 );
    add_action( 'plugins_loaded', 'activate_type_one' );

    The last thing we need to do is add our group type names to group and directory pages:

    * Modify the group type status
    function sv_get_group_type( $type, $group = false )
    global $groups_template;

    if( ! $group )
    $group =& $groups_template->group;

    $gtype = groups_get_groupmeta( $group->id, 'group_type' );
    if( $gtype == 'type_one' )
    $name = __( 'Type 1', 'group-types' );

    elseif( $gtype == 'type_two' )
    $name = __( 'Type 2', 'group-types' );

    elseif( $gtype == 'type_three' )
    $name = __( 'Type 3', 'group-types' );

    $name = __( 'User Group', 'group-types' );

    if( 'public' == $group->status )
    $type = sprintf( __( "%s (public)", "group-types" ), $name );
    elseif( 'hidden' == $group->status )
    $type = sprintf( __( "%s (hidden)", "group-types" ), $name );
    elseif( 'private' == $group->status )
    $type = sprintf( __( "%s (private)", "group-types" ), $name );
    $type = ucwords( $group->status ) . ' ' . __( 'Group', 'buddypress' );

    return $type;
    add_filter( 'bp_get_group_type', 'sv_get_group_type' );

    * Modify the group type status on directory pages
    function sv_get_the_site_group_type()
    global $site_groups_template;

    return sv_get_group_type( '', $site_groups_template->group );
    add_filter( 'bp_get_the_site_group_type', 'sv_get_the_site_group_type' );

    It’s quite a bit of code, but it should get you started. This hasn’t been tested with 1.2 btw.


    I’ve been working on converting my wife’s fan site for a band from a single wordpress magazine style theme over to buddypress to try to give more community interaction. I’ve been following and reading buddypress news for the last 6 months at least and we still haven’t launched because it seems like every time we get moving, some great features get added that make us need to wait for that. But i digress…

    I have a few features that I’m trying to accomplish for the site and i want to find out if i’m the only one that has looked for these, or if i’m just not finding how to do them anywhere.

    1. We imported our userlist from the old site over to the new wpmu/bp installation so that their users are already there and they can login immediately. in the event that some of them used their real names or email addresses as their usernames and don’t really want that listed in the member directory, is there any way to allow users to “hide” and not be listed in the member directory? We imported almost 1300 users and it would be nice to let the majority of them use their existing credentials but for the few that never wanted their username to be publicly listed, I’d hate to cause problems. I’ve loaded Jeff’s privacy plugin but that still doesn’t allow hiding from the member directory.

    2. we’ve modified the cosmic buddy theme, which is a widgetized theme, for use for the member blogs following the tutorial by pulling out the home.php with the rest. This seems to work well but I wanted to know if anyone knows of a way to “force” a particular widget to show up automatically on all created blogs? We’re using the group blog plugin but since we’re not using the bp default theme, we can’t use the theme it came with. The blog template seems to work well except that their is a sidebar in the theme and if someone creates a new group blog, until we find out that the blog is there, it’s going to show that it needs widgets added. We’d also like to “force” some widgets like recent comments and some ad blocks in there. Is there a way to do this or is it better to just hack the member theme some more and pull out the sidebar and hard code what we need in there?

    3. by these questions, it should be obvious that we’re pretty new to php and learning things. We’ve found that there are some bp themes that have great member profile pages that include things like their albums, their wire, and other info on that page. The cosmic buddy theme really only lists the wire on the page with the rest relying on navigating through the menu. Does anyone know of any tutorials to customize the profile page to pull in things from the other pages/plugins? For instance, we have the bb-picture album plugin from Manoj Kumar. If we want the gallery to show on the profile page, would that be hacking the profile page and just pulling in the code we need from the other pages?

    4. If I’m trying to make this a really user friendly site, does anyone know of any other front ends for wp other than posthaste? I really love the p2 theme that was mentioned in the other thread but we really need more of a magazine style theme so that won’t quite work and we are really trying to keep the theme consistent across all blogs rather than using something like p2 theme for the member blogs while using another for the home blog. I’ve already loaded posthaste and got it working but I haven’t found anything that includes the ability to insert images like the new front end on the p2 theme. would it be easier (and/or legal/ethical) to pull out the front end from someone else’s theme and import that into the current theme or would it be easier to find someone to assist with adding the insert image feature to the posthaste plugin on my site?

    5.Also, I know that this isn’t the right place to ask for questions on someone else’s theme, but is anyone using that theme that would know how to pull out the nav bar on my sub blogs? By converting the buddypress theme to a blog theme, it still leaves the nav bar alone so if my site is at and i have a group blog at, the nav bar still shows the home, blog, members, forums, etc but all of those are all wrong because they point to, etc. Is it possible/easy to create a global nav bar so that on all the sub blogs, the members/groups links all point back to the main blog or is it easier to just pull it out?

    Thanks for any and all answers you can give me on these features.

    D Cartwright

    @Boone Gorges

    Initially I wanted to have the wiki pages privacy completely controlled by the group privacy level but unfortunately we have a need to be able to ‘unhide’ individual wiki pages so in the implementation we’re working on pages will be individually controlled via the group wiki admin page.


    As stated above, I completely agree. Whilst the work we’re doing at the moment will involve mediawiki I think it’s highly likely that I’ll simultaneously (though at a much slower pace) work on something similar to you’re describing in your last post.


    well there are members plugins that wont allow the nav to show if the member isnt logged in, one is user access manager – you can specify pages to not show all together, in nav as well – would this work?

Viewing 25 results - 251 through 275 (of 286 total)
Skip to toolbar