ShapeBlock Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
ShapeBlock adds 30+ blocks to the WordPress block editor, plus a Header & Footer Builder. We built it because we kept reaching for the same things on client sites – a slider here, a pricing table there, a team grid, some tabs – and wanted them in one plugin that works the same way everywhere.
Every block has the same three tabs: Settings for the content, Layout for columns, alignment and spacing, and Style for colours, typography, borders, shadows and hover effects. Sizes, spacing and columns can be set separately for desktop, tablet and mobile.
See the blocks in action on the Demo.
Header & Footer Builder
Build your header and footer in the block editor – no child theme and no PHP. Then pick where each one shows up with display conditions: Entire Site, Front Page, All Pages, All Posts, All Archives, Search Results, 404 Page, or specific pages and posts. Any condition can be set to Include or Exclude.
It works with classic and block themes. Pages that match none of your conditions keep the theme’s own header and footer. There’s also a Custom Block type you can place anywhere with the [shapeblock_builder] shortcode.
Blocks
Accordion, Breadcrumb, Button, Client Logo, Column, Countdown, Counter, Features List, Heading, Hover Box, Icon, Icon Box, Icon List, Image Carousel, Image Comparison, Isotope Filter, Menu, Offcanvas, Post Grid, Pricing Table, Progress Bar, Row, Scroll Top, Search, Simple Gallery, Slider, Social Icon, Social Share, Table, Tabs, Team Member and Testimonial. Links to each block’s demo are in the FAQ.
What else you get
- Custom Templates you save once and reuse, also with the
[shapeblock_template]shortcode. - An on/off switch for every block. Blocks you switch off don’t load.
- Styles printed per block, so two copies of a block on one page can look different.
- A global content width, plus export and import of your settings.
- Translation ready.
- No tracking and no licence check. Google Fonts is optional and off until you turn it on – see External services below.
External services
Out of the box, ShapeBlock doesn’t connect to any outside service. There are two cases where it can: Google Fonts, if you turn it on, and video embeds, if you add a video URL yourself. Further down we also list the share and profile links the Social Share block creates. Those are normal links and only go anywhere when a visitor clicks them.
Google Fonts (optional, off by default)
When it’s turned on, Google Fonts feeds the Font Family picker in the block settings and loads the fonts you pick on the front end.
It is off by default. While it’s off, the plugin doesn’t talk to Google at all. The font list isn’t downloaded, the picker only shows locally available font stacks, and no stylesheet is loaded from Google in the editor or on the front end. To turn it on, go to ShapeBlock > Settings > Google Fonts and tick “Allow ShapeBlock to connect to Google Fonts”. If you turn it off later, the requests stop and the cached font list is deleted.
With it switched on:
- In the WordPress admin, your server fetches the font list from
https://fonts.google.com/metadata/fontsthe first time it’s needed and keeps it cached for a week. That request carries no site, post or user data. - In the block editor, your browser loads a font stylesheet from
https://fonts.googleapis.com/css2?family=...so you can preview fonts in the picker and on the canvas. - On the front end, each visitor’s browser loads the stylesheet for the fonts used on that page from
https://fonts.googleapis.com, and the font files fromhttps://fonts.gstatic.com. Like any browser request, this sends the visitor’s IP address, user agent and the referring page to Google.
Google Fonts is provided by Google LLC. Terms of service: https://policies.google.com/terms – Privacy policy: https://policies.google.com/privacy
Video embeds (only when you add a video URL)
The Post Grid block can show a video for a post. If you don’t enter a video URL, nothing is contacted. If the URL points to a video file (.mp4, .webm, .ogg or .mov), it’s played with a regular <video> tag and no outside service is involved.
For videos hosted on a service like YouTube or Vimeo:
- On the front end, WordPress’ own oEmbed function (
wp_oembed_get()) sends the URL you entered from your server to the provider to get the embed code. The result is cached for a day. This works with any provider WordPress supports, though YouTube and Vimeo are the common ones. - In the editor preview, YouTube and Vimeo URLs are turned straight into the player address (
https://www.youtube.com/embed/<video id>orhttps://player.vimeo.com/video/<video id>), with no server request. - When someone views the page or the editor, their browser loads the player from the provider, which receives their IP address, user agent and the referring page.
YouTube (Google LLC) – Terms of service: https://www.youtube.com/t/terms – Privacy policy: https://policies.google.com/privacy
Vimeo, Inc. – Terms of service: https://vimeo.com/terms – Privacy policy: https://vimeo.com/privacy
Other providers have their own terms and privacy policies.
Social Share links
The Social Share block doesn’t connect to anything by itself. It just builds a normal link to each network’s sharing page. Nothing is sent until a visitor clicks one. When they do, their browser opens that network’s page, and the network gets the current page’s URL and title in the link (and for Pinterest, the featured image URL if there is one), along with the usual things every browser sends, like IP address and user agent.
The link each network gets:
- Facebook –
https://www.facebook.com/sharer/sharer.php?u=+ page URL. Terms: https://www.facebook.com/terms.php – Privacy: https://www.facebook.com/privacy/policy/ - X (Twitter) –
https://twitter.com/intent/tweet?url=+ page URL +&text=+ page title. Terms: https://x.com/en/tos – Privacy: https://x.com/en/privacy - LinkedIn –
https://www.linkedin.com/sharing/share-offsite/?url=+ page URL. Terms: https://www.linkedin.com/legal/user-agreement – Privacy: https://www.linkedin.com/legal/privacy-policy - Pinterest –
https://pinterest.com/pin/create/button/?url=+ page URL +&description=+ page title + optional&media=+ featured image URL. Terms: https://policy.pinterest.com/en/terms-of-service – Privacy: https://policy.pinterest.com/en/privacy-policy - WhatsApp –
https://api.whatsapp.com/send?text=+ page title + page URL. Terms: https://www.whatsapp.com/legal/terms-of-service – Privacy: https://www.whatsapp.com/legal/privacy-policy - Telegram –
https://t.me/share/url?url=+ page URL +&text=+ page title. Terms: https://telegram.org/tos – Privacy: https://telegram.org/privacy - Reddit –
https://www.reddit.com/submit?url=+ page URL +&title=+ page title. Terms: https://www.redditinc.com/policies/user-agreement – Privacy: https://www.reddit.com/policies/privacy-policy
The Instagram, YouTube, TikTok, Snapchat, Discord and Spotify buttons just link to each site’s home page and don’t include any page data: https://www.instagram.com/, https://www.youtube.com/, https://www.tiktok.com/, https://www.snapchat.com/, https://discord.com/, https://open.spotify.com/.
- Instagram – Terms: https://help.instagram.com/581066165581870 – Privacy: https://privacycenter.instagram.com/policy
- YouTube – Terms: https://www.youtube.com/t/terms – Privacy: https://policies.google.com/privacy
- TikTok – Terms: https://www.tiktok.com/legal/page/row/terms-of-service/en – Privacy: https://www.tiktok.com/legal/page/row/privacy-policy/en
- Snapchat – Terms: https://snap.com/en-US/terms – Privacy: https://snap.com/en-US/privacy/privacy-policy
- Discord – Terms: https://discord.com/terms – Privacy: https://discord.com/privacy
- Spotify – Terms: https://www.spotify.com/legal/end-user-agreement/ – Privacy: https://www.spotify.com/legal/privacy-policy/
The Email button is a mailto: link that opens the visitor’s own mail app. The Copy Link button copies the page URL in the browser. Neither one contacts a service.
The Social Icon block only outputs the links you type into it, so it doesn’t connect to anything on its own.
Source code and build process
All the compiled and minified files in this plugin are built from readable source code that ships with the plugin, right next to the files it produces. Nothing is obfuscated.
Where to find the source:
- Block scripts and styles:
includes/public/blocks/<block>/src/(index.js,edit.js,save.js,view.js,style.scss,editor.scss,render.php). Each block builds into thebuild/folder beside it. - Shared editor controls the blocks use:
includes/public/blocks/custom-components/. - The admin dashboard (Blocks Settings, Theme Builder, Custom Templates and Settings screens):
src/in the plugin root, built intobuild/in the plugin root. - Admin stylesheet:
assets/css/style.scss, built intoassets/css/style.css. - Shared front-end stylesheet:
includes/public/assets/css/public.scss(plus the_shapeblock-icon.scsspartial next to it), built intoincludes/public/assets/css/public.css. - Block icon font: the files in
includes/public/assets/font/come fromincludes/public/assets/icon/config.json, which is the Fontello project file. Open it at https://fontello.com to rebuild it or change the icons. The dashboard icon font inincludes/admin/assets/icons/font/is a separate Fontello export, shipped as its plain font and stylesheet files. - Prefixed Bootstrap grid:
assets/lib/bootstrap/bootstrap-grid.scss, built intobootstrap-grid.cssin the same folder. - Menu block:
includes/public/blocks/menu/build/index.jsandview.jsare hand-written against thewp.*globals and don’t go through a build step. That’s why this block has nosrc/folder. Those files are the source.
Build tools:
- @wordpress/scripts 32.4 (webpack + Babel) builds the blocks and the admin screens.
- Dart Sass 1.105 compiles the stylesheets above.
- Bootstrap 5.3 provides the grid SCSS that
bootstrap-grid.scssimports and re-prefixes.
All three are listed in package.json. To rebuild from source:
npm installnpm run build– builds the plugin-root bundle (build/).npm run build:<block>– builds one block, e.g.npm run build:headingornpm run build:teamGrid. All block script names are inpackage.json.npm run build:css– buildsassets/css/style.css.npm run build:public– buildsincludes/public/assets/css/public.css.npm run build:grid– builds the prefixed Bootstrap grid CSS.
A block’s own style.scss and editor.scss are compiled by that block’s npm run build:<block> into its build/ folder, so there’s no separate step for them.
npm run start and `npm run start:<block>` run the same builds in watch mode.<h3>Credits</h3>
ShapeBlock’s own code is licensed GPLv2 or later. It also includes the following third-party libraries. Each one is MIT-licensed, and its licence file ships with it:
- Swiper 12.0.3 (https://swiperjs.com, https://github.com/nolimits4web/swiper), Copyright (c) 2014-2025 Vladimir Kharlampidi –
assets/lib/swiper/LICENSE.assets/lib/swiper/swiper-bundle.jsandswiper-bundle.cssare the unmodified, unminifieddistfiles from the 12.0.3 release (npm packageswiper@12.0.3). Each file has the library name, version and homepage in its header comment. We use them as published and don’t build them ourselves. - Bootstrap 5.3 grid (https://getbootstrap.com, https://github.com/twbs/bootstrap), Copyright (c) 2011-2025 The Bootstrap Authors –
assets/lib/bootstrap/LICENSE. We only use the grid and flex utilities, recompiled byassets/lib/bootstrap/bootstrap-grid.scsswith ashapeblock-class/variable prefix and a 345pxsmbreakpoint. See “Source code and build process” above. - Ant Design 6 (https://ant.design, https://github.com/ant-design/ant-design) and Ant Design Icons (https://github.com/ant-design/ant-design-icons), Copyright (c) 2015-present Ant UED –
assets/lib/antd/LICENSEandassets/lib/antd/ICONS-LICENSE. These are only used in the admin dashboard (build/index.js, built fromsrc/withnpm run build) and are never loaded on the front end. Their dependencies, small packages like@ant-design/cssinjs,dayjs,clsxand@babel/runtime, are MIT-licensed too.
All of these licences are compatible with GPLv2 or later.
The two icon fonts (includes/public/assets/font/ for the blocks and includes/admin/assets/icons/font/ for the dashboard) were made with Fontello (https://fontello.com). The custom icons in them were drawn by us and are released under GPLv2 or later, same as the plugin. The block font’s Fontello project file, includes/public/assets/icon/config.json, lists every icon and where it came from. The block font also has 3 icons from other icon sets. Both sets use the SIL Open Font License 1.1, which is GPL-compatible:
map-oandh-sigh– Font Awesome 4.7 (https://fontawesome.com/v4/license/).move– Elusive Icons (https://github.com/aristath/elusive-iconfont).
You can read the SIL Open Font License 1.1 at https://openfontlicense.org.
Screenshots
No screenshots provided

