Bp-social and Buddypress Activity Plus not working together

Hi All, I’ve installed the latest versions of both bp-social & buddypress activity plus. As soon as I upload any media through activity plus plugin, I could see them appear on the web page. When I navigate to other page and return to /Activity page, the upload made via activity plus disappears. It only reappears when you manually click on tabs such as “All Members”. Why is there a disconnect? The expected behavior is to see the media available no matter where I navigate to-and-fro. Please help me on this. Thanks!

  • Vinod Dalvi
    • WP Unicorn

    Hi Siva,

    Thank you for granting the support staff access.

    I could confirm the issue on your site but i tried to reproduce the issue on my test site using same versions of BuddyPress Social theme and BuddyPress & BuddyPress Activity Plus plugins but i couldn't reproduce the issue.

    The difference i see on both of our site is this that when i upload the image the image doesn't display until i click on the "Load Newest" link as shown in the attached screenshot and after clicking this link the image displays forever even after changing the page.

    On your site the "Load Newest" link doesn't display instead the image gets displayed immediately but after changing page it doesn't display initially until we click on "All Members" tab.

    It seems this feature is implemented in the BuddyPress version 2 as described on the following pages.

    https://codex.buddypress.org/releases/version-2-0/

    https://buddypress.trac.wordpress.org/changeset/7952

    I am not sure why it's behaving differently on your site but my thought is that this may be because of plugin/theme conflict or WP's Heartbeat API settings.

    You can just try on your development site temporary using default WordPress theme like Twenty Fifteen and temporary deactivating all other plugins as displayed in the following flowchart to know which theme/plugin is conflicting if any.

    https://premium.wpmudev.org/manuals/getting-support/

    Regards,

    Vinod Dalvi

  • Siva
    • WPMU DEV Initiate

    Hi Vinod,

    Could you please involve Bp-social theme expert for this query? I’m not convinced with your reply. I need to figure this out as I bought the latest versions of these two plugins! Also, I would like to inform you that I deactivated other plugins and restored the default buddypress theme and the same issue is recurring. I request you to help me further.

  • Siva
    • WPMU DEV Initiate

    Could you help me to achieve this instead? Whenever /activity page is called/loaded, invoke the function that is running behind the tab: “All Members”. Don’t you think that would fulfill the purpose? But technically, I’m not sound. I might require your assistance. Thanks

  • Ash
    • WordPress Hacker

    Hello @siva

    I hope you are well today.

    Are you using browser back button to get activity page? If yes, then it’s browser cache and we don’t have control on that. Let me explain:

    1. You go to activity page (browser store a cache version of the page while first loading)

    2. You upload a picture (browser doesn’t cache normally any ajax request)

    3. You go to another page

    4. You are back to activity page using browser back button and now the browser shows the cached version from step 1.

    5. If you just hard refresh this page, or visit from different machine, then the uploaded image will be appeared. Or, if you use activity menu (if there is any) then the image will be appeared too.

    Hope it helps :slight_smile: Please feel free to ask more question if you have any.

    Cheers

    Ash

  • Ash
    • WordPress Hacker

    Hello @siva

    FYI, I’m NOT a newbie here :slight_smile:

    I didn’t want to mean that, if I sounded like that I am really sorry, I just drew a scenario.

    Maybe when you posted last time, I was investigating, so I missed your last reply. Let me give you some code:

    Add the following code:

    function current_page_url() {
    $url = 'http';
    if ($_SERVER["HTTPS"] == "on")
    $url .= "s";
    $url .= "://";
    if ($_SERVER["SERVER_PORT"] != "80")
    $url .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
    else
    $url .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];

    return $url;
    }

    add_action( 'bp_after_footer', 'bp_after_footer_cb' );
    function bp_after_footer_cb() {
    $activity = 'YOUR ACTIVITY PAGE URL HERE';
    if( current_page_url() == $activity ) {
    ?>
    <script type="text/javascript">
    jQuery(function($) {
    $('li#activity-all a').click();
    });
    </script>
    <?php
    }
    }

    Just change the $activity value with your activity page url.

    You can add those codes in your functions.php in the theme, if you think your theme won’t be changed. Otherwise mu-plugins is the best solution. To use mu-plugins, go to /wp-content/ and find the folder with name ‘mu-plugins’. If there is no folder in that name, then create a folder, name it ‘mu-plugins’, create a file inside that, give any name you like and paste the code in there. You don’t need to activate that plugin. Mu-plugins means must use plugins, so it will be activated automatically always. If you use mu-plugins then add a php start tag at the beginning of the code.

    Hope it helps :slight_smile: Please feel free to ask more question if you have any.

    Cheers

    Ash

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.