bp_activity_get_permalink( int $activity_id, object|bool $activity_obj = false )

Get the permalink for a single activity item.

Description

When only the $activity_id param is passed, BP has to instantiate a new BP_Activity_Activity object. To save yourself some processing overhead, be sure to pass the full $activity_obj parameter as well, if you already have it available.

Parameters

$activity_id

(Required) The unique id of the activity object.

$activity_obj

(Optional) The activity object.

Default value: false

Return

(string) $link Permalink for the activity item.

Source

File: bp-activity/bp-activity-functions.php

3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
function bp_activity_get_permalink( $activity_id, $activity_obj = false ) {
    $bp = buddypress();
 
    if ( empty( $activity_obj ) ) {
        $activity_obj = new BP_Activity_Activity( $activity_id );
    }
 
    if ( isset( $activity_obj->current_comment ) ) {
        $activity_obj = $activity_obj->current_comment;
    }
 
    $use_primary_links = array(
        'new_blog_post',
        'new_blog_comment',
        'new_forum_topic',
        'new_forum_post',
    );
 
    if ( ! empty( $bp->activity->track ) ) {
        $use_primary_links = array_merge( $use_primary_links, array_keys( $bp->activity->track ) );
    }
 
    if ( false !== array_search( $activity_obj->type, $use_primary_links ) ) {
        $link = $activity_obj->primary_link;
    } else {
        if ( 'activity_comment' == $activity_obj->type ) {
            $link = bp_get_root_domain() . '/' . bp_get_activity_root_slug() . '/p/' . $activity_obj->item_id . '/#acomment-' . $activity_obj->id;
        } else {
            $link = bp_get_root_domain() . '/' . bp_get_activity_root_slug() . '/p/' . $activity_obj->id . '/';
        }
    }
 
    /**
     * Filters the activity permalink for the specified activity item.
     *
     * @since BuddyPress 1.2.0
     *
     * @param array $array Array holding activity permalink and activity item object.
     */
    return apply_filters_ref_array( 'bp_activity_get_permalink', array( $link, &$activity_obj ) );
}

Changelog

Changelog
Version Description
BuddyPress 1.2.0 Introduced.

Questions?

We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.