BuddyPress 11.0.0 is available

Thanks for welcoming “La Scala” into your WordPress sites: please upgrade!

🙌 🍕

#11-0-0, #release

BP Dev-Chat Agenda January 4, 2023

Hi!

Our next development meeting will happen on January 4 at 19:30 UTC (tomorrow) and of course in #BuddyPress. Here’s our agenda for this 1st meeting of the year:

  • Happy new year BuddyPress greetings, what do we wish to accomplish in 2023?
  • 11.0.0 Final Release: last checks before (scheduled to January 5) packaging tasks.
  • Focus on the BP Messages component (requested by @espellcaste)

If you have specific/additional points you need to discuss about, please share them into the comments area of this post.

🥂🍀🔮

#11-0-0, #agenda, #dev-chat

BP Dev-Chat Agenda December 21, 2022

Hi!

Our next development meeting will happen on December 21 at 19:30 UTC (tomorrow) and of course in #BuddyPress. Here’s our agenda:

Open floor!

For this last development meeting of the year, let’s chat about anything that comes to our mind! 🎄🎅 🎁

If you have specific/additional points you need to discuss about, please share them into the comments area of this post.

👋

#agenda, #askusanything, #dev-chat, #fun

BuddyPress 11.0.0-RC1 is ready for your tests

Thanks in advance for your help 😍

👋

#11-0-0, #release, #release-candidate

Here’s 11.0.0-beta3

Thanks in advance for beta testing this pre-release version. If you’re using the BP Default theme, we’d be even more thankful if you could give us some of your time to make sure everything is fine for you with this third beta release.

#11-0-0, #beta, #release

BP Dev-Chat summary: december 7, 2022

11.0.0: we’ll package another beta!

That’s the important decision we made during our meeting a few minutes ago. We prefer to delay 11.0.0 final release to early next year.

Why?

In 11.0.0 we’re making an important change about the way BuddyPress is loading deprecated code. Everything is fine with it when you use one of the BP bundled template packs (BP Nouveau or BP Legacy). Using a template pack to dynamically inject BuddyPress content into one of the templates of your active WordPress theme’s (most likely the page.php one) is the plugin’s default behavior since version 1.7. But we forgot there was still some BP Default old classic theme fans around 😱.

Since version 1.9, The BP Default theme is “hidden behind a filter” for new BuddyPress installs. In other words, you need to add some custom code to bring it back. That’s why we haven’t thought about it so far. Fortunately we were alerted into our Slack channel about issues when this theme was still used and active on the WordPress site (this can be the case if you regularly updated BuddyPress since version <= 1.8).

We’ve been working on it and we think we’ve fixed BP Default issues. Releasing a third beta version instead of directly making the release candidate available seems a wise move. Thanks in advance for your understanding.

11.0.0 updated schedule

  • Beta3: December 8, 2022
  • RC: December 1st, December 15, 2022
  • Release: January 5, 2023.

Next Dev-Chat

It will happen on December 21 at 19:30 UTC in #BuddyPress. If you have specific points or ideas you want to discuss about, don’t hesitate to share them in comments.

#11-0-0, #dev-chat, #summary

BP Dev-Chat Agenda December 7, 2022

Hi!

Our next development meeting will happen on December 7 at 19:30 UTC (today) and of course in #BuddyPress. Here’s our agenda:

  • 11.0.0 Release Candidate, we’re late & we still need to write the Hello Screen change log 😱
  • BP Default & deprecated code (blocker)

If you have specific/additional points you need to discuss about, please share them into the comments area of this post.

👋

#11-0-0, #agenda, #dev-chat

BP 11: bp_has_profile() Now Accepts an Array of Profile Group IDs

In the upcoming BuddyPress 11.0 release, we’ve added some developer frosting 🧁 to make working with profile groups more straightforward. The template function bp_has_profile() and its underlying function BP_XProfile_Group::get() now accept a single profile group ID or an array of profile group IDs, making it easier to loop through your members’ profile data.

For example, the following code:

<?php
$profile_args = array(
    'user_id'          => 1,
    'profile_group_id' => array( 1, 2 ),
);

if ( bp_has_profile( $profile_args ) ) :
    while ( bp_profile_groups() ) : bp_the_profile_group();
        if ( bp_profile_group_has_fields() ) : ?>
            <h2><?php bp_the_profile_group_name(); ?></h2>

            <table class="profile-fields">

                <?php while ( bp_profile_fields() ) : bp_the_profile_field(); ?>

                    <?php if ( bp_field_has_data() ) : ?>

                        <tr<?php bp_field_css_class(); ?>>

                            <td class="label"><?php bp_the_profile_field_name(); ?></td>

                            <td class="data"><?php bp_the_profile_field_value(); ?></td>

                        </tr>

                    <?php endif; ?>

                <?php endwhile; ?>

            </table>

        <?php
        endif;
    endwhile;
endif;

produces the following output:

Without having to add an extra profile group loop! You can test this new functionality out in the most recent BuddyPress v11 release beta.

BP Dev-Chat summary : November 23, 2022

11.0.0-beta updates

  • Only one ticket was raised about our usage of an outdated version of moment.js (see #8766). We’ve fixed the ticket deprecating this outdated version and using the one already bundled into WordPress since its 5.0 version.
  • @espellcaste asked whether the ticket about $this usage into function doc-blocks (see #8611) were still in 11.0’s roadmap. It was as it’s now fixed 🤝.
  • @espellcaste also raised @im4th‘s attention about the fact it was not possible for a user to delete their own account using the BP REST API (see #8758). The ticket has since been fixed ✅.
  • A bit after the development meeting @dcavins confirmed he would post developer notes on this site about #4184 (Activity loop arguments change) & #4075 (xProfile groups loop arguments change).
  • @im4th informed he was about to release a second 11.0-beta. It has been released 2 days after the development meeting. If you haven’t tested it yet, please do so!

11.0.0 schedule reminder

  • RC: December 1st, 2022 👈 sorry we’re late! It will probably be released after December 7th dev-chat.
  • Release: December 14, 2022.

Open floor

@espellcaste is working on a VS Code extension for BuddyPress development and a repository was created to document available BuddyPress hooks.

Next Dev-Chat

It will happen this Wedneday on December 7 at 19:30 UTC in #BuddyPress. If you have specific points or ideas you want to discuss about, don’t hesitate to share them in comments.

#11-0-0, #dev-chat, #summary

BP 11: Fetch Activities for or Excluding a Group of Users

Coming soon in 11.0, we’ve made it possible to fetch activity items for a specific group of users, or to fetch activity items excluding a group of users. The new parameters are user_id__in and user_id__not_in, following a familiar WordPress naming convention.

<?php 
// A couple of users are so cool I would like to do something
// featuring just their updates 
$activity_args = array(
	'user_id__in' => array( 3, 7 ),
);

$activity_items = bp_activity_get( $activity_args );

foreach ( $activity_items as $activity ) {
	// Do soemthing interesting with these activities...
}
?>

Or to find activities, excluding updates from users with the ID 3 and 7, simply use the other new option.

<?php 
// I'd like to block updates from a couple of annoying users. 😮
$activity_args = array(
	'user_id__not_in' => array( 3, 7 ),
);

$activity_items = bp_activity_get( $activity_args );

foreach ( $activity_items as $activity ) {
	// Do soemthing interesting with these activities...
}
?>

This change is simple but powerful! For instance, you could create custom interest activity streams, or build a mute feature to let your members take a break from other, too-chatty users!. 🙂