About Site Plugins

With site plugins, you can create interactive and feature-rich widgets that seamlessly integrate into Wix’s 1st-party business apps (such as Wix Stores and Wix Bookings), extending their functionality and user experience. Plugins are built using Wix Blocks, which offers powerful layout and design tools, and gives you access to Velo's full-stack development platform.

Wix users can easily place plugins into predefined slots (UI placeholders) within Wix apps, using the plugin explorer available in all Wix editors:

🚀  Get straight to business with our step-by-step developer guide.

🛠️  Ready to jump into Blocks? That's where you'll design and code your plugin.

🎮  Plugin tutorial

Get your hands dirty with a quick tutorial that'll walk you through the end-to-end process, including:

  • Building a widget in Blocks
  • Wiring it to the host app's data
  • Setting up a plugin extension in the Wix Dev Center
  • Testing your plugin on a site

📖  Slots and plugin APIs

Wix offers a range of placeholders – called slots – across app pages, for which you can build plugins.

When developing a plugin, you need to explicitly declare the specific slots in which users are allowed to install it.

Explore the slots available on each host widget, as well as the APIs they support:

Wix appHost widget
Wix eCommCheckout page
Wix StoresProduct page
Wix StoresCategory page
Wix StoresShop page
Wix StoresGallery widget
Wix BookingsService page
Wix EventsEvent Details page

⚙️  How plugins work

A plugin integrates with its host widget in two ways:

  • Visually, by embedding its UI inside one of the host's slots
  • Logically, by implementing a communication interface with the host

To enable plugins to communicate with their hosts, each slot supports an API that provides data about the plugin's context (for example the productId of the current product on the Product page). Use it when you code your plugin's logic in Wix Blocks.

💬  Terminology

TermDefinition
Host widgetA widget belonging to a Wix app, which contains one or more slots
SlotA placeholder within a host widget that users can populate with a plugin
PluginA widget that can be embedded inside a slot, extending the host widget's functionality
InterfaceAn API contract between a plugin and a slot that both must implement to communicate

🖼️  Example plugin

Clone our example plugin app, explore how it's built, and play around with its design and code.

Was this helpful?
Yes
No