Skip to main content

GIFs in WordPress Chat: GIPHY and KLIPY Providers

· 5 min read
Creator of Better Messages

GIFs are how casual conversation moves on social platforms — a reaction GIF answers a question faster than a sentence. WordPress sites running BuddyPress / BuddyBoss / PeepSo / Ultimate Member / FluentCommunity communities all hit the same gap: members expect a GIF button next to the message composer, and the native messengers do not have one. Better Messages adds a GIF picker that supports two providers — GIPHY (the world's largest GIF library, free API key) and KLIPY (a newer curated platform with optional ad-supported monetization).

How the GIF picker works#

Once a provider is configured, every conversation composer gets a GIF button next to the file-upload paperclip. Tapping it opens a full-width picker:

  • Trending GIFs as the default view
  • Keyword search bar with real-time results (debounced)
  • Masonry grid — new results load on scroll without repositioning existing items, so browsing stays smooth
  • One-click send — tap a GIF, the picker closes immediately, the GIF posts as a message

The picker works in private DMs, group conversations, and chat rooms — same UX everywhere.

GIPHY provider#

The default and most-used option. Free API tier supports up to 1,000 calls per hour and 42 calls per minute — enough for most messaging sites.

Settings (at WP Admin → Better Messages → Settings → Integrations → GIFs → GIPHY):

SettingWhat it does
API KeyYour GIPHY developer key. Get a free key at developers.giphy.com
Content RatingFilter by audience: G (all ages, default), PG, PG-13, R
LanguageTwo-letter language code for search results (e.g. en, es, fr)

The content-rating filter is the right tool for sites with younger audiences or family-oriented brands. Default G keeps things safe. Flip to PG or PG-13 for adult communities where edgier reactions are appropriate.

KLIPY provider#

A newer GIF platform with curated content, and a shorter settings list — it has no content-rating filter, so what the library serves is what members see.

Settings (at WP Admin → Better Messages → Settings → Integrations → GIFs → KLIPY):

SettingWhat it does
API KeyKLIPY app key from the partner dashboard. Register at klipy.co
LocaleISO 3166 two-letter country or language code used for localized results

KLIPY is a fit for sites that want GIF support without the GIPHY brand, or that prefer a curated library to an open one.

Picking a provider#

Better Messages supports one provider at a time. Pick based on your audience:

Use caseRecommended provider
Standard community / membership siteGIPHY (largest library, default rating-G works for most audiences)
Adult or 18+ communityGIPHY with PG-13 / R rating
Family / kids siteGIPHY with rating G enforced
Sites that prefer curated over user-generated GIFsKLIPY

Switching providers is one dropdown change — previously sent GIFs from either provider keep displaying correctly because the GIF URL is stored in the message content, not as a foreign reference.

Caching#

Results are cached server-side as WordPress transients, on both providers alike: 30 minutes for trending, 15 minutes for a search. Trending is one cache entry per page and rating. A search is keyed on the query, rating and language together. A normal site does not come near its provider's rate limit.

How to enable#

  1. WP Admin → Better Messages → Settings → Integrations → GIFs.
  2. Select a Provider from the dropdown (GIPHY or KLIPY).
  3. Enter your API Key.
  4. Configure content rating and language for GIPHY, or locale / ads for KLIPY.
  5. The GIF button appears in every conversation composer automatically.

Free vs WebSocket version#

GIFs work on both versions:

FeatureFree versionWebSocket version
GIPHY and KLIPY providersyesyes
Trending + keyword search pickeryesyes
Content-rating filter (GIPHY)yesyes
GIFs in DMs, group chats, and chat roomsyesyes
Real-time delivery of GIF messagespollinginstant

Frequently asked questions#

Does GIPHY's free tier handle a typical community site?#

Yes — 1,000 API calls per hour easily covers thousands of members browsing GIFs daily, especially with the server-side caching of trending and search results.

Can I use both GIPHY and KLIPY at the same time?#

No — one provider is active at a time. Members see a unified GIF button regardless of which one you pick.

Do GIFs count against my WordPress media library quota?#

No — GIFs are referenced by their hosted URL on GIPHY / KLIPY's CDN. Nothing is uploaded to your site's media library.

Will GIFs work in end-to-end-encrypted threads?#

GIFs use a CDN URL that is stored in the message. In an E2E thread, the URL is encrypted along with the rest of the message body — recipients decrypt it in their browser and the GIF loads from the CDN normally. The CDN itself does not see who sent or received the GIF.

Can I restrict GIF sending by role?#

Not with a setting. GIFs are on or off for the whole site — the provider dropdown is the only switch, and the picker follows ordinary reply permission, so anyone who can write in a conversation can send a GIF in it. Role gating of this kind exists for sticker packs, which each carry an Allowed roles list. If tier-gating reaction content matters to you, that is the feature that does it. A snippet on better_messages_can_send_message can block GIF messages from a role, but that is code, not configuration.

Does this work alongside stickers?#

Yes — GIFs and stickers are separate features. Members can use both in the same conversation. See Stickers for WordPress chat.

See also#

Install Better Messages from WordPress.org →