Title: Activity Link Preview For BuddyPress
Author: Varun Dubey
Published: <strong>31. měrca 2021</strong>
Last modified: 29. julija 2026

---

Tykače pytać

![](https://ps.w.org/activity-link-preview-for-buddypress/assets/banner-772x250.
png?rev=3016892)

![](https://ps.w.org/activity-link-preview-for-buddypress/assets/icon-256x256.png?
rev=3016890)

# Activity Link Preview For BuddyPress

 Wot [Varun Dubey](https://profiles.wordpress.org/vapvarun/)

[Sćahnyć](https://downloads.wordpress.org/plugin/activity-link-preview-for-buddypress.1.7.5.zip)

 * [Podrobnosće](https://hsb.wordpress.org/plugins/activity-link-preview-for-buddypress/#description)
 * [Pohódnoćenja](https://hsb.wordpress.org/plugins/activity-link-preview-for-buddypress/#reviews)
 *  [Instalacija](https://hsb.wordpress.org/plugins/activity-link-preview-for-buddypress/#installation)
 * [Wuwiće](https://hsb.wordpress.org/plugins/activity-link-preview-for-buddypress/#developers)

 [Podpěra](https://wordpress.org/support/plugin/activity-link-preview-for-buddypress/)

## Wopisanje

**Activity Link Preview For BuddyPress** turns a plain URL into a rich card. When
a member pastes a link into the activity composer or a comment, the plugin reads
the page, pulls a title, description and image, and shows a preview card before 
they post. Saved previews render server-side, so they still display when JavaScript
is off.

It needs BuddyPress or BuddyBoss Platform active. There is no settings page: previews
work as soon as you activate the plugin, and developers can change behaviour through
filters.

#### What you get

**Rich previews as members type**
 * Detects URLs as they are typed or pasted into
the activity form. * Shows title, description and a featured image in a card the
member can review before posting. * Multiple image selection: when a page offers
several images, prev and next buttons let the member pick one, with an „Image X 
of Y“ counter. * The preview clears itself when the URL is removed from the composer,
and blocked or invalid URLs show an inline error instead of failing quietly.

**Internal member and group cards, with no HTTP request**
 * Sharing a link to a
member profile on your own site (/members/username/) builds a card from your database:
display name, the XProfile About text, and the member’s avatar. * Sharing a link
to a group (/groups/group-slug/) builds a card with the group name, description 
and group avatar. * Because this reads locally, there is no self-request and no 
external fetch, which keeps busy sites fast.

**Comments and embeds**
 * Link previews work in activity comments and replies, 
not just top-level posts. * Native embeds for Twitter/X and Facebook. * Inline video
and rich embeds via WordPress oEmbed (YouTube, Vimeo and other providers WordPress
supports). * Short URLs (bit.ly, tinyurl and similar) are resolved to the real destination
before the preview is built.

**Fast and safe by default**
 * Per-URL caching, plus 15-minute negative caching
so a slow or unreachable link is not retried on every render. * Comment rendering
never fetches remote URLs, so a dead link cannot delay a page load. * SSRF protection
blocks localhost, private and reserved IP ranges, and re-validates redirect targets.*
Nonce verification, logged-in-only parsing, and sanitized and escaped output.

**Works alongside your platform**
 * On BuddyBoss Platform with its own link preview
enabled, this plugin stands down so you never get two cards on one post. * On Youzify
with its wall URL preview enabled, it does the same. * Preview data is included 
in the BuddyPress REST API activity response.

**Developer friendly**
 * `bp_activity_link_preview_load_assets` – control which
pages load the CSS, JS and social SDKs. * `bp_activity_parse_url_preview` – filter
the preview data returned by the parse endpoint. * `bp_activity_link_parse_url` –
filter the parsed result before it is returned. * `bp_activity_link_parse_url_shorten_url_provider`–
add or remove short-URL providers to resolve. * `bp_oembed_discover_support` – opt
in to oEmbed discovery for unknown providers. * `bp_activity_link_preview_enable_comments`–
turn preview handling in activity comments on or off.

#### Perfect For

 * BuddyPress and BuddyBoss communities where members share articles, videos and
   news
 * Groups that use the activity stream as a reading or link-sharing feed
 * Communities that link internally to member profiles and groups
 * Any activity stream that currently shows bare, unclickable-looking URLs

#### Premium Support

Our support team can help with setup, theme compatibility and troubleshooting. Reach
us through the links below.

#### Documentation

 * **[Documentation and Support](https://docs.wbcomdesigns.com/)** – Setup walkthrough
   and usage guides for every Wbcom plugin

#### Translations

 * English (default)
 * Ready for translation in your language with the included POT file
 * RTL language support included

#### Links

 * [Plugin Homepage](https://wbcomdesigns.com/downloads/buddypress-activity-link-preview/)
 * [Documentation](https://docs.wbcomdesigns.com/)
 * [Support](https://wbcomdesigns.com/support/)
 * [Request Features](https://wbcomdesigns.com/contact/)

#### Compatibility

 * WordPress 6.5 and higher
 * PHP 8.0 and higher
 * BuddyPress 6.0+ or BuddyBoss Platform (required – the plugin deactivates itself
   if neither is active)
 * Tested with popular themes including BuddyX, Reign and Youzify

#### What’s New in 1.7.4

A performance and security pass. Plugin assets and the Twitter and Facebook SDKs
now load only in activity contexts instead of on every page. Failed link lookups
are cached for 15 minutes and comment rendering never fetches remote URLs, so slow
links no longer hold up a page. Blocked or invalid URLs now report the problem in
the composer, scraped titles and descriptions are sanitized before saving, and short-
URL resolution re-validates its redirect target against the SSRF guard.

### Third-Party Services

This plugin renders native Twitter/X and Facebook embeds. Those embeds can only 
be rendered by each network’s own script, so the plugin loads that script directly
from the network:

 * Twitter/X widgets.js, loaded from platform.twitter.com. Terms of service: https://
   twitter.com/en/tos – Privacy policy: https://twitter.com/en/privacy
 * Facebook SDK, loaded from connect.facebook.net. Terms of service: https://www.
   facebook.com/terms.php – Privacy policy: https://www.facebook.com/privacy/policy/

These scripts load only on BuddyPress activity screens (the activity directory, 
member activity and group screens), never site-wide. On those screens they load 
whether or not a Twitter or Facebook link is actually present, so the visitor’s 
browser contacts Twitter and Facebook on every activity page view. Those services
can therefore see the visitor’s IP address, user agent and referring page, and may
set their own cookies.

If your site needs to avoid that (for example to satisfy a consent requirement),
use the bp_activity_link_preview_load_assets filter to stop the assets loading:

    ```
    add_filter( 'bp_activity_link_preview_load_assets', '__return_false' );
    ```

No data is sent to Wbcom Designs, and the plugin itself collects nothing.

### More Free Tools from Wbcom Designs

Rich link previews make your activity stream worth reading, but a stream is only
one part of a community. These other free tools from Wbcom Designs fill in the rest
of the space your members spend time in, from the theme and social network itself
to forums, media, events, gamification, directories, jobs, and courses.

 * **[BuddyX](https://wbcomdesigns.com/downloads/buddyx-theme/)** – A free, fast
   community theme for BuddyPress, BuddyBoss and PeepSo with a modern layout and
   dark mode.
 * **[BuddyNext](https://wbcomdesigns.com/downloads/buddynext/)** – Stand up a complete
   WordPress community with activity streams, member spaces, profiles, direct messaging,
   and built-in moderation.
 * **[Jetonomy](https://wbcomdesigns.com/downloads/jetonomy/)** – Add forums, question-
   and-answer boards, and idea spaces that stay tidy through trust-based auto-moderation
   even past 100,000 topics.
 * **[Mediaverse](https://wbcomdesigns.com/downloads/mediaverse/)** – Let members
   build photo and video albums, react, follow each other, and message privately
   while AI moderation keeps things clean.
 * **[Eventonomy](https://wbcomdesigns.com/downloads/eventonomy/)** – Run community
   events with RSVPs, calendars, and front-end submissions.
 * **[WB Gamification](https://wbcomdesigns.com/downloads/wordpress-gamification-plugin/)**–
   Reward members with points, badges, and leaderboards to keep engagement high.
 * **[Listora](https://wbcomdesigns.com/downloads/listora/)** – Publish searchable
   directories across ten listing types with reviews, maps, and member-submitted
   entries from the front end.
 * **[WP Career Board](https://wbcomdesigns.com/downloads/wp-career-board/)** – 
   Add a job board with front-end listings, applications, and employer profiles.
 * **[Learnomy](https://wbcomdesigns.com/downloads/learnomy/)** – Build and sell
   online courses, auto-grade quizzes, collect payments, and award certificates 
   when learners finish.

## Fota wobrazowki

[⌊Link preview in an activity post - title, description and image pulled from the
shared link.⌉⌊Link preview in an activity post - title, description and image pulled
from the shared link.⌉[

Link preview in an activity post – title, description and image pulled from the 
shared link.

## Instalacija

#### Manual Installation

 1. Upload the `buddypress-activity-link-preview` folder to `/wp-content/plugins/`
 2. Activate the plugin through the ‚Plugins‘ menu in WordPress
 3. Make sure BuddyPress or BuddyBoss Platform is active
 4. Paste a link into an activity post and the preview appears automatically

There is no settings page. The plugin works as soon as it is activated.

#### Requirements

 * WordPress 6.5 or higher
 * PHP 8.0 or higher
 * BuddyPress 6.0 or higher, or BuddyBoss Platform

## HSP

### What are the plugin requirements?

WordPress 6.5 or higher, PHP 8.0 or higher, and either BuddyPress 6.0+ or BuddyBoss
Platform. If neither BuddyPress nor BuddyBoss is active, the plugin deactivates 
itself and shows a notice explaining why.

### Why doesn’t the preview show for some URLs?

Open Graph tags are preferred, not required. The plugin looks for og:title, og:description
and og:image first, and falls back when they are missing: it reads the page’s `<
title>` element for the title, the `<meta name="description">` tag for the description,
and collects every `<img src>` on the page for the image choices.

So a page with no Open Graph tags will usually still preview. A preview fails when
the site blocks automated requests outright, when the response is not HTML the plugin
can parse, or when the URL resolves to a private or loopback address that the SSRF
guard blocks. Reddit links are deliberately skipped. Failed lookups are remembered
for 15 minutes, so if you fix the target page, wait for that window to pass before
retesting.

### How do I disable link previews in comments?

Add this to your theme’s functions.php:

    ```
    add_filter( 'bp_activity_link_preview_enable_comments', '__return_false' );
    ```

This filter only controls previews on activity comments and replies. There is no
filter to switch off previews on main activity posts, and no per-user setting – 
previews on posts are always on while the plugin is active.

### Is the plugin secure?

Yes. The plugin includes:
 * SSRF protection (blocks internal and private IPs, and
re-validates short-URL redirect targets) * CSRF protection via nonce verification*
Logged-in-only URL parsing * Sanitization of scraped titles and descriptions on 
save, and escaping on output

### Does it work with BuddyBoss?

It runs on BuddyBoss Platform, but it deliberately gets out of the way of BuddyBoss’s
own link preview. If BuddyBoss Platform is active with its native link preview enabled,
this plugin stands down and lets BuddyBoss render the card, so you never see two
previews on the same post. If you turn the BuddyBoss link preview off, this plugin
takes over.

### Does it work with Youzify?

Same idea. If Youzify is active and its wall URL preview is enabled, this plugin
leaves the content alone so Youzify’s preview is the only one shown. Turn the Youzify
wall URL preview off and this plugin handles the card instead.

### What happens when someone shares a link to a profile or a group on my own site?

The plugin recognises it as an internal URL and builds the card straight from your
database, with no external HTTP request. A member link shows the display name, the
XProfile About text and the member’s avatar. A group link shows the group name, 
description and avatar.

### Can I customize it?

Yes. The plugin has no settings screen, but it exposes filters for the parts site
owners usually want to change: `bp_activity_link_preview_load_assets` (which pages
load the assets), `bp_activity_parse_url_preview` and `bp_activity_link_parse_url`(
the preview data itself), `bp_activity_link_parse_url_shorten_url_provider` (which
short-URL hosts are resolved), `bp_oembed_discover_support` (oEmbed discovery), 
and `bp_activity_link_preview_enable_comments` (previews in comments).

### Will this work with my theme?

It has been tested with popular BuddyPress and BuddyBoss themes including BuddyX,
Reign and Youzify. It hooks the standard BuddyPress activity filters, so it should
work with any properly coded BuddyPress-compatible theme.

### Where can I get support?

 * [Documentation](https://docs.wbcomdesigns.com/) – Free guides for every Wbcom
   plugin
 * [Support](https://wbcomdesigns.com/support/) – Get help from our team
 * [Contact us](https://wbcomdesigns.com/contact/) – Report bugs and request features

## Pohódnoćenja

![](https://secure.gravatar.com/avatar/618371816545c570449966418d376155b3e96cada80af2c51015cc36253024db?
s=60&d=retro&r=g)

### 󠀁[Simple and effective](https://wordpress.org/support/topic/simple-and-effective-1469/)󠁿

 [Billy Wilcosky](https://profiles.wordpress.org/wilcosky/) 19. februara 2023

Thank you for making this and putting it out for free. It isn't easy to find link
preview features sometimes. Even if it has to be a pro/paid version, you might think
about finding a way to have the link preview's image uploaded to wp-content uploads
and then served from there. I'm sure that's not super easy to do, but in order for
this to work consistently and work well on larger sites, the images need to get 
cached or hosted within the same WordPress installation.

![](https://secure.gravatar.com/avatar/3891ec477a66fd45b85d2a480bf368152239dbda9c95442edb42b5c72cdec3c7?
s=60&d=retro&r=g)

### 󠀁[Works like a charm](https://wordpress.org/support/topic/works-like-a-charm-2123/)󠁿

 [marbs](https://profiles.wordpress.org/marbs/) 2. nowembra 2022

Thank you

![](https://secure.gravatar.com/avatar/c598ddaf0bd2ac22facd4eccd8805af83efbd3e489b5f17d2319e14367568aa5?
s=60&d=retro&r=g)

### 󠀁[Doesnt work](https://wordpress.org/support/topic/doesnt-work-2833/)󠁿

 [MrBubble](https://profiles.wordpress.org/gorbondanko/) 3. meje 2022 1 reply

I have tried everything to get links from Opensea to show on Buddyboss, and I had
high hopes this would finally prove to be the solution… But, nope, it doesnt work
at all

![](https://secure.gravatar.com/avatar/b386c3be63ad40515532f06f0a3f8fc3c5a9c760da75708f03eff64f35cd66d4?
s=60&d=retro&r=g)

### 󠀁[Works as it says](https://wordpress.org/support/topic/works-as-it-says-17/)󠁿

 [shawfactor](https://profiles.wordpress.org/shawfactor/) 22. apryla 2021 1 reply

Not a fan of all their plugins but this one does the job perfectly (now that the
fixes I suggested have been implemented). Highly recommended.

![](https://secure.gravatar.com/avatar/f8ed1e519966c26570eed70d9fd0720c1ed65b44c03de54843d8d74fe6bb3c9b?
s=60&d=retro&r=g)

### 󠀁[Great Plugin](https://wordpress.org/support/topic/great-plugin-30425/)󠁿

 [onezootree](https://profiles.wordpress.org/onezootree/) 3. apryla 2021 1 reply

Brilliant plugin from Wbcom Designs, as always! It creates an additional method 
for LMS sites to share information with and between students.

 [ Čitajće 5 pohódnoćenjow ](https://wordpress.org/support/plugin/activity-link-preview-for-buddypress/reviews/)

## Sobuskutkowarjo a wuwiwarjo

„Activity Link Preview For BuddyPress“ je softwara wotewrjeneho žórła. Slědowacy
ludźo su k tutomu tykačej přinošowali.

Sobuskutkowarjo

 *   [ Varun Dubey ](https://profiles.wordpress.org/vapvarun/)
 *   [ wbcomdesigns ](https://profiles.wordpress.org/wbcomdesigns/)

[Přełožće „Activity Link Preview For BuddyPress“ do swojeje rěče.](https://translate.wordpress.org/projects/wp-plugins/activity-link-preview-for-buddypress)

### Na wuwiću zajimowany?

[Přehladajće kod](https://plugins.trac.wordpress.org/browser/activity-link-preview-for-buddypress/),
hladajće do [SVN-repozitorija](https://plugins.svn.wordpress.org/activity-link-preview-for-buddypress/)
abo abonujće [wuwiwanski protokol](https://plugins.trac.wordpress.org/log/activity-link-preview-for-buddypress/)
přez [RSS](https://plugins.trac.wordpress.org/log/activity-link-preview-for-buddypress/?limit=100&mode=stop_on_copy&format=rss).

## Protokol změnow

#### 1.7.5 – July 2026

Corrective release. There are no functional changes since 1.7.4.

 * Fix – Restored the correct plugin files. The 1.7.4 package published on WordPress.
   org contained the files of a different plugin.

#### 1.7.4 – July 2026

 * New – Added German, Spanish, French, Italian and Portuguese (Brazil) translations.
 * Improve – Plugin assets and the Twitter/Facebook SDKs now load only in BuddyPress
   activity contexts (the activity directory, member activity and group screens)
   instead of every page. Use the bp_activity_link_preview_load_assets filter to
   load them on custom pages that embed an activity stream.
 * Improve – Pages with nothing to preview are remembered for 15 minutes so they
   are not re-fetched on every view, and comment rendering never fetches remote 
   URLs, so slow pages no longer delay page loads. A momentary timeout or provider
   hiccup is no longer remembered, so a good link (a YouTube video, for example)
   is retried on the next view rather than showing no preview for the whole window.
   The window is filterable via bp_activity_link_preview_negative_cache_ttl.
 * Fix – The composer preview controls (Cancel Preview, previous/next image and 
   the image counter) were built in JavaScript with no translatable source, so they
   always rendered in English. They are now translatable.
 * Fix – The plugin never registered its text domain, so bundled translations could
   never load.
 * Fix – Invalid or blocked URLs now show an error message in the composer instead
   of failing silently.
 * Fix – Preview close and image navigation icons render correctly when the admin
   toolbar is hidden.
 * Security – Scraped link titles and descriptions are sanitized before saving and
   escaped on output.
 * Security – Hardened short-URL resolution to resolve redirects through the WordPress
   HTTP API and re-validate the redirect target against the SSRF private/loopback
   IP guard.

#### 1.7.3

 * Code Quality: Fixed all WordPress Coding Standards (WPCS) violations
 * Code Quality: Applied strict comparisons, Yoda conditions, and proper inline 
   comment punctuation
 * Code Quality: Added ABSPATH direct access protection
 * Code Quality: Added missing PHPDoc parameter documentation for all functions
 * Code Quality: Fixed all Plugin Check errors (0 errors)

#### 1.7.2

 * Fixed: Twitter/X and Facebook link previews now work in activity comments
 * Fixed: @mentions no longer generate unwanted link previews
 * Fixed: Hash symbol (#) no longer added to browser URL when closing previews
 * Fixed: „Image X of undefined“ no longer shows when images can’t be determined
 * Added: Helper function to detect social media URLs for native embed handling
 * Added: Same-site URL filtering to prevent internal profile links from generating
   previews
 * Improved: Better null checking for image navigation in JavaScript

#### 1.7.1

 * Fixed: Plugin now auto-deactivates when BuddyPress or BuddyBoss Platform is not
   active
 * Fixed: Added proper dependency check on admin_init hook
 * Improved: Better error handling for missing dependencies

#### 1.7.0

 * Fixed: Scripts now load in footer for better performance
 * Fixed: Proper input sanitization with wp_unslash() for POST data
 * Fixed: Use wp_parse_url() instead of parse_url() for better compatibility
 * Fixed: Added translators comments for internationalization
 * Fixed: Plugin Check compatibility improvements
 * Fixed: Nonce verification now mandatory for security (CSRF protection)
 * Fixed: BuddyPress/BuddyBoss compatibility – function_exists checks added
 * Fixed: PHP 8.2+ compatibility – removed deprecated HTML-ENTITIES encoding
 * Fixed: BuddyPress class name detection improved
 * Fixed: Comment filter registration timing for proper enable/disable support
 * Added: Plugin version constant for proper asset cache busting
 * Updated: Tested up to WordPress 7.0
 * Updated: Requires PHP 7.4 minimum

#### 1.6.1

 * Security: Patched SSRF (Server Side Request Forgery) vulnerability in the URL
   parser.

#### 1.6.0

 * Added: Filter and event hooks to extend the activity preview functionality.
 * Fixed: Twitter card preview duplication issue in multiple activities.
 * Fixed: Twitter preview incorrectly appended to the second activity.
 * Fixed: Activity content not displaying when preview is enabled.
 * Fixed: Iframe not rendering correctly in activity previews.
 * Fixed: Preview not visible when sharing X (formerly Twitter) links.
 * Fixed: Activity link preview index logic for accurate rendering.
 * Improved: String labels and content clarity across the plugin.
 * Security: Patched SSRF (Server Side Request Forgery) vulnerability in the URL
   parser.
 * Security: Fixed XSS issues in link preview rendering to improve safety.

#### 1.4.4

 * Fix: Hide raw Facebook and Twitter URLs in BuddyPress activity content.
 * Fix: Addressed multiple issues with Facebook embed functionality.
 * Fix: Resolved issues with console errors during content injection.
 * Enhancement: Improved code quality for better readability and maintainability.
 * Update: Added support for Twitter, YouTube, and LinkedIn link previews.
 * Update: Enhanced compatibility with Reddit link previews.
 * Feature: Included activity link preview data in the REST API activity endpoint.
 * Fix: Resolved a YouTube link preview issue.
 * Fix: Addressed issues where comments and replies could not be added to activities.

#### 1.4.3

 * Fix: Issue with Reddit
 * Fix: Issue with YouTube link preview

#### 1.4.2

 * Fixed: Twitter/Instagram/Facebook preview issue

#### 1.4.0

 * Fixed: Added spacing between link preview container and post button
 * Fixed: Unable to comment and reply issue

#### 1.3.0

 * Fixed: Added activity link data in REST API activity endpoint
 * Fixed: PHPCS Fixes

#### 1.2.0

 * Fixed: Plugin activated when BuddyPress is not activated
 * Fixed: Update spacing between text and buttons
 * Fixed: YouTube link issue

#### 1.1.0

 * Fixed: Legacy Support
 * Fixed: Preview generation on pasting URLs
 * Fixed: Error message when meta values are not readable

#### 1.0.0

 * Initial release

## Meta

 *  Version **1.7.5**
 *  Last updated **3 měsacy**
 *  Active installations **100+**
 *  WordPress version ** 6.5 abo nowši **
 *  Tested up to **7.0.7**
 *  PHP version ** 8.0 abo nowši **
 *  Language
 * [English (US)](https://wordpress.org/plugins/activity-link-preview-for-buddypress/)
 * Tags
 * [activity](https://hsb.wordpress.org/plugins/tags/activity/)[buddypress](https://hsb.wordpress.org/plugins/tags/buddypress/)
   [link preview](https://hsb.wordpress.org/plugins/tags/link-preview/)[open graph](https://hsb.wordpress.org/plugins/tags/open-graph/)
   [social](https://hsb.wordpress.org/plugins/tags/social/)
 *  [Rozšěrjeny napohlad](https://hsb.wordpress.org/plugins/activity-link-preview-for-buddypress/advanced/)

## Pohódnoćenja

 4 out of 5 stars.

 *  [  3 5-star reviews     ](https://wordpress.org/support/plugin/activity-link-preview-for-buddypress/reviews/?filter=5)
 *  [  1 4-star review     ](https://wordpress.org/support/plugin/activity-link-preview-for-buddypress/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/activity-link-preview-for-buddypress/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/activity-link-preview-for-buddypress/reviews/?filter=2)
 *  [  1 1-star review     ](https://wordpress.org/support/plugin/activity-link-preview-for-buddypress/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/activity-link-preview-for-buddypress/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/activity-link-preview-for-buddypress/reviews/)

## Sobuskutkowarjo

 *   [ Varun Dubey ](https://profiles.wordpress.org/vapvarun/)
 *   [ wbcomdesigns ](https://profiles.wordpress.org/wbcomdesigns/)

## Podpěra

Chceće něšto prajić? Trjebaće pomoc?

 [Forum pomocy pokazać](https://wordpress.org/support/plugin/activity-link-preview-for-buddypress/)

## Darić

Chceće dalewuwiwanje tutoho tykača podpěrać?

 [ Za tutón tykač darić ](https://wbcomdesigns.com/donate/)