Skip to:
Content
Pages
Categories
Search
Top
Bottom

Forum Replies Created

Viewing 25 replies - 1 through 25 (of 1,715 total)

  • Venutius
    Moderator

    @venutius

    If I remember correctly last time I did it I had to convince js that it was in a bp page, so I hade to recreate all or most of the bp div structure, then nouveau recognised it and inserted the activity


    Venutius
    Moderator

    @venutius

    Ah sorry was assuming too much. In that case take a look at the BP Nouveau equivalent of that page in bp-templates/bp-nouveau/buddypress/activities/activity-loop.php. In nouveau the activity is generated mainly by js, you just have to recreate the right class and id structure in the page and nouveau will automatically implant the activity, no need for the loop. But this only works for the default activity settings, if you want to filter them I’m not certain how to go about doing that.

    Legacy represents that old way, with page loads and a php loop. Nouveau is highly js with js fetching the content without page loads.


    Venutius
    Moderator

    @venutius

    There’s a thread which did not complete related to this, I wonder if the suggested fix would help you?

    UPLOADED AVATAR SIZE FROM MOBILE VIEW = POOR QUALITY


    Venutius
    Moderator

    @venutius

    Have you looked at https://wordpress.org/plugins/nav-menu-roles/ that’s what I use to only display some menus to logged in members


    Venutius
    Moderator

    @venutius

    Loading plugins is a lot less work that writing the code from scratch


    Venutius
    Moderator

    @venutius

    If you were to go ahead with the idea of overloading the front page you’d need to use bp_has_activities() as part of the activity loop. You can check out how it’s used by looking at plugins/buddypress/bp-templates/bp-legacy/buddypress/activity/activity-loop.php


    Venutius
    Moderator

    @venutius

    Then you’d need to overload your child-themes template file for the homepage, but getting the activity on there would need quite a bit of coding.

    BP was designed to be customised with plugins, it’s not unusual for a BP site to have several tens of plugins and maybe more.


    Venutius
    Moderator

    @venutius

    If you use a page editor you can use the activity widget that comes with BP, otherwise you can use the BP Activity Shortcode plugin. For Posts, I’m sure you can find a recent posts shortcode plugin in WP.org.


    Venutius
    Moderator

    @venutius

    What I typically do is use a page builder to build the new front page, then insert widgets for all the features I want on that page.


    Venutius
    Moderator

    @venutius

    Hi there,

    What I would do is set WP to use static front page and then add the features you want using a shortcode. for example for activity there is BP Activity Shortcode.


    Venutius
    Moderator

    @venutius

    I think Conditional Menus would need tweaking to understand that the BP pseudo pages where the menu needs to display: Ask the developer.


    Venutius
    Moderator

    @venutius

    Regarding changing the messages BuddyPress shows, you can create your own local translation file using the PoEdit application, see this doc:

    Customizing Labels, Messages, and URLs

    If you really want to disable the activation emails, there’s an old plugin which I think still works:

    BP Disable Activation Reloaded

    If you have issues with it let me know.


    Venutius
    Moderator

    @venutius

    You could just overload the buddypress/groups/single/cover-image-header.php file for your bp theme to display the new fields you have added.


    Venutius
    Moderator

    @venutius

    The standard way of doing this is to let the users activate themselves and to use BP Registration Options to approve their application to join. BP Registration Optons does work, I use it on every site I build. It’s generally not a good idea just to activate users without them confirming their email address, it can lead to spam users getting easy access to your site, though you can significantly liit these types of requests if you use the Registration Honeypot plugin.


    Venutius
    Moderator

    @venutius

    You can enable search for names by putting this code in your child themes functions.php:

    add_filter( 'bp_activity_get_include_user_search', 'venutius_add_name_to_search' );
    
    function venutius_add_name_to_search( $setting ) {
    	return true;
    }

    Unfortunately there’s not a similar filter for the title, you could raise a feature request for this on https://buddypress.trac.wordpress.org/


    Venutius
    Moderator

    @venutius

    It looks like you have an extra <?php in your code, so you’ve deleted too much. another opton would be to put the code back and just hide it using style=”display: none;”.

    So for example you could change this:

    <span class="current-visibility-level">' . bp_get_the_profile_field_visibility_level_label() . '</span>'

    to

    <span class="current-visibility-level" style="display:none;">' . bp_get_the_profile_field_visibility_level_label() . '</span>'

    and add that to all the elements you want to hide.


    Venutius
    Moderator

    @venutius

    Just a note, I’ve not tested this, but give it a try, it’s possible that some variation will be required.


    Venutius
    Moderator

    @venutius

    Then you can overload the edit.php and ‘register.php` files and remove that attribute.

    get ftp access to your site and location wp-content/plugins/buddypress/bp-templates/bp-legacy/members/register.php
    wp-content/plugins/buddypress/bp-templates/bp-legacy/members/single/profile/edit.php

    in these files locate and remove:

    				<?php if ( bp_current_user_can( 'bp_xprofile_change_field_visibility' ) ) : ?>
    					<p class="field-visibility-settings-toggle" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id() ?>"><span id="<?php bp_the_profile_field_input_name(); ?>-2">
    						<?php
    						printf(
    							__( 'This field can be seen by: %s', 'buddypress' ),
    							'<span class="current-visibility-level">' . bp_get_the_profile_field_visibility_level_label() . '</span>'
    						);
    						?>
    						</span>
    						<button type="button" class="visibility-toggle-link" aria-describedby="<?php bp_the_profile_field_input_name(); ?>-2" aria-expanded="false"><?php _ex( 'Change', 'Change profile field visibility level', 'buddypress' ); ?></button>
    					</p>
    
    					<div class="field-visibility-settings" id="field-visibility-settings-<?php bp_the_profile_field_id() ?>">
    						<fieldset>
    							<legend><?php _e( 'Who can see this field?', 'buddypress' ) ?></legend>
    
    							<?php bp_profile_visibility_radio_buttons() ?>
    
    						</fieldset>
    						<button type="button" class="field-visibility-settings-close"><?php _e( 'Close', 'buddypress' ) ?></button>
    					</div>
    				<?php else : ?>
    					<div class="field-visibility-settings-notoggle" id="field-visibility-settings-toggle-<?php bp_the_profile_field_id() ?>">
    						<?php
    						printf(
    							__( 'This field can be seen by: %s', 'buddypress' ),
    							'<span class="current-visibility-level">' . bp_get_the_profile_field_visibility_level_label() . '</span>'
    						);
    						?>
    					</div>
    				<?php endif ?>

    Then place these modified files in `wp-content/themes/your-child-theme/buddypress/members/register.php’ and
    `wp-content/themes/your-child-theme/buddypress/members/single/profile/edit.php’


    Venutius
    Moderator

    @venutius

    Hi there, yes this is possible. You would need to hook on the filter bp_activity_add and use that to send an email to the site admin. You could add this to your child thees functions.php:

    add_filter( 'bp_activity_add', 'venutius_activity_admin_notify', 10, 2 );
    
    function venutius_activity_admin_notify( $activity_array, $activity_id ) {
    	$site_admin_email = get_option( 'admin_email' );
    	$username = bp_core_get_username( $activity_array['user_id']);
    	$view_link = bp_get_root_domain() . '/' . bp_get_activity_root_slug() . '/p/' . $activity_id;
    	$subject                  = 'New Activity Posted ';
    	$message                  = 'A new activity has been published.';
    	$message                 .= "\r\n\r\n";
    	$message                 .= 'Author' . ': ' . $username . "\r\n";
    	$message                 .= 'View the activity' . ': ' . $view_link;
    	$result                   = wp_mail( $site_admin_email, $subject, $message );
    }

    Venutius
    Moderator

    @venutius

    I think this is possible to to but would require quite a bit of additional coding on your part, no exisitng plugin would do this.

    So for example in the file buddypress/groups/groups-loop.php there is the call to bp_has_members(). It’s possible to add to this the include= argument where you can choose which groups will be found. so you could add a function to this file which checks the user role and inputs only the groups that they can see.

    However you’d need additional function to allow you to add your groups to a groups/role list and keep that updaded when new groups are added. Then you could also create a function that adds new groups to this list on creation based on the member role. I’d be tempted to do this using group types but there’s a few options on exactly how this would be implemented.

    So it’s not an easy fix and would require custom coding.


    Venutius
    Moderator

    @venutius

    Hi, I’m thinking that the user_id is not in the users dp before activation is complete and you might be better hooking on `bp_core_activated_user’ instead?


    Venutius
    Moderator

    @venutius

    Which BP Template are you using? Youcan see this in Settings>>BuddyPress>>Options.


    Venutius
    Moderator

    @venutius

    There’s an old plugin called BuddyPress Links which allows members to add links to a links directory and then other members can vote on those links. I think this would probably serve a similar function to what you want. However, it’s out of date and throws a lot of errors. I’ve been working on updating this and have asked the developer the code can be updated. I think for your requirement it would still need some changes so it recognises videos and embeds the video instead of a static thumbnail for the site. I think this is the closest BP has got to delivering what you want easily.

    Alternatively there’s MediaPress which allows video links to be added to video galleries. You can also have a sitewide gallery that everyone can add videos to, this could serve as a basis for what you are looking for.


    Venutius
    Moderator

    @venutius

    I’m afraid that method would not work for what you are looking for. I think the only way you could do this would be with some pretty extensive custom code. You’d have to add fields for group descriptions in the other languages your site supports, you’d then need to have these displayed in the group settings page so group creators could add the correct translation of their group description and finally you’d have to change a number of BP functions in order to display the correct translation to the viewer in the groups directory and the group pages. The issue get’s even more complicated when it comes to searching for groups. So I think this is quite difficult to do.


    Venutius
    Moderator

    @venutius

    Another one I’ve just discovered is this: https://wordpress.org/plugins/dynamic-user-directory/ not tried it yet but maybe it will overload that page for you and work.

Viewing 25 replies - 1 through 25 (of 1,715 total)
Skip to toolbar